有时候我们需要对从git上拉取的项目进行单元测通过以后才可以发布到测试环境,.net平台下单元测试的框架也很多例如mstest,nunit,xunit等,下面以Nunit为例讲解如何通过Jenkins对项目进行单元测试
关于如何使用单元测试框架,读者可以参考特定框架的官方文档或者网络博客,这里不对其进行展开.
首先我们新建一个NunitTest项目,新建项目以后,我们需要通过Nuget添加以下两个包:Nunit和Nunit.console.然后任意写一些单元测试代码.
安装成功后,你会在项目的packagesNUnit.ConsoleRunner.xxx ools(其中xxx为版本号)文件夹下面看到如下内容
其中nunit3_console.exe是我们要用于进行单元测试的控工具.
为了简化起见,以便更专注于演示特定功能,这里不在Jenkins上进行编译动作,我们手动在vs里进行编译.后面会通过一个完整事件演示如何监听git仓库变化,拉取远程git仓库代码,进行编译,进行单元测试,发布到测试服务器,想要查看完整流程.
下面我们打开Jenkins新建一个FreeStyle项目,命名为MyNunitTest,我们直接往下拉到Builds栏目,点击Add Build Step,选择windows batch command,输入的命令如下
说明一下,这里需要提供—work参数,以指定Nunit工作目录为项目编译后所在目录,否则为Jenkins创建的目录,测试将报错.
保存以后点击build now执行一个构建.
如果执行成功,你将会看类似如下界面
其中红色框选部分为nunit测试日志,共测试37个方法,跳过一个,成功36个,失败0个