Jenkins集成.net单元测试

一直想把单元测试这块也自动集成到Jenkins.因为公司是.net开发,所以找了下资料研究了下。

需要两个插件:MSTest plugin(来发布MSTest的测试结果),MSTestRunner plugin(系统使用MSTest来写单元测试),因VS2015已经集成MSTest,开发要写单元测试也很方便。故使用此插件。
如果,系统是使用NUit来写单元测试那就要下载NUnit plugin。

安装时,获取mstest plugin时总是失败,可以先单独获取ant和maven plugin, 然后再获取mstest plugin就成功了。

  1. 先在系统配置>Globle tool configuration里配置mstest, path to mstest是VS里安装自带的MStest.exe的绝对路径。如下图:
    Jenkins集成.net单元测试_第1张图片

  2. 在VS里面新建一个单元测试项目
    Jenkins集成.net单元测试_第2张图片
    建完之后结构如下:
    Jenkins集成.net单元测试_第3张图片

  3. Program.cs文件里,加个被测方法Add,如下:
    Jenkins集成.net单元测试_第4张图片

  4. 添加引用,如下图所示,添加完引用,结构如右图所示。
    Jenkins集成.net单元测试_第5张图片

  5. 在programTest.cs 文件里添加测试方法。如图所示:
    Jenkins集成.net单元测试_第6张图片
    图中标红的[TestClass]和[TestMethod]是被VS识别为单元测试类和单元测试方法的一个标记。

  6. 在这里可以运行下我们的单元测试。点击测试->所有测试,会有运行结果显示在左侧。
    Jenkins集成.net单元测试_第7张图片

  7. 生成测试结果文件,一般为dll,或者exe文件。右击解决方案,点击重新生成解决方案。标红的地方是测试结果文件的存放目录。
    Jenkins集成.net单元测试_第8张图片

  8. 回到Jenkins,添加构建操作Run unit tests with MSTest,配置如下,Result file name,是MSTest.exe所产生的测试结果文件名。生成的结果是.trx文件。
    Jenkins集成.net单元测试_第9张图片

  9. 添加构建后操作,Publish MSTest test result report. 填写刚才的文件名即可。
    Jenkins集成.net单元测试_第10张图片

  10. 立即构建,查看效果。
    Jenkins集成.net单元测试_第11张图片

最后还有一个要说的就是,如果你觉得手动编写单元测试类和方法太麻烦,那么可以使用“Unit Test Generator”插件帮助你生成单元测试和方法。
“Unit Test Generator”可以通过VS菜单栏【工具】–>【扩展和更新】–>搜索““Unit Test Generator””取得。

安装“Unit Test Generator”需要重启VS。
在需要进行单元测试的类和方法上点击右键,选择Generate Unit Test.

点击之后会弹出一个对话框,需要你配置一个名称的规则,配置好后点击ok即可生成测试方法,如下图所示:
Jenkins集成.net单元测试_第12张图片

你可能感兴趣的:(jenkins,单元测试)