有时候我们需要对从git上拉取的项目进行单元测通过以后才可以发布到测试环境,.net平台下单元测试的框架也很多例如mstest,nunit,xunit等,下面以Nunit为例讲解如何通过Jenkins对项目进行单元测试

关于如何使用单元测试框架,读者可以参考特定框架的官方文档或者网络博客,这里不对其进行展开.

首先我们新建一个NunitTest项目,新建项目以后,我们需要通过Nuget添加以下两个包:Nunit和Nunit.console.然后任意写一些单元测试代码.

安装成功后,你会在项目的packages\NUnit.ConsoleRunner.xxx\tools(其中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个

Jenkins结合.net平台工具之Nunit的更多相关文章

  1. Jenkins结合.net平台工具之Opencover

    首先先介绍一下Opencover是什么,Opencover是.net平台下用于生成单元测试覆盖率报告的一款软件,是.net平台下为数不多的一款免费覆盖率报告工具,类似的工具还有Jetbrains的do ...

  2. Jenkins结合.net平台工具之ReportGenerator

    上一节我们讲解了如何使用opencover生成单元测试覆盖率报告,opencover默认生成的report为xml格式,可读性并不是特别强,如果靠阅读opencover生成的results.xml来分 ...

  3. Jenkins结合.net平台工具之Msbuild

    前面我们讲解了关于Jenkins的一些基本知识,通过这些知识我们可以结合一些其它工具实现更为复杂的任务,本篇我们将介绍如何使用msbuild工具结合Jenkins实现构建一个.net控制台框. 首先我 ...

  4. Jenkins结合.net平台工具之Nuget

    我们刚刚通过msbuild在Jenkins环境下把一个控制台项目生成exe可执行文件,如果我们引用了nuget包,也能够正常生成,但是我们知道,我们在把项目提交到git或者svn上的时候并不包含这些包 ...

  5. Jenkins结合.net平台综合之监听git仓库并自动摘取最新代码编译

    前面章节我们讲解了Jenkins结合.net平台工具以及一些第三方工具实现项目自动还原,自动编译,自动测试和自动发布.然而实现自动化还有一个关键的步骤就是监听源码仓库变化然后从仓库拉取最新代码,然后再 ...

  6. 基于Kubernetes/K8S构建Jenkins持续集成平台(上)-2

    基于Kubernetes/K8S构建Jenkins持续集成平台(上)-2 Kubernetes实现Master-Slave分布式构建方案 传统Jenkins的Master-Slave方案的缺陷 Mas ...

  7. 如何判断平台工具集去做条件编译(VC++目录、预处理器定义、$(PlatformToolsetVersion))

    作者:zyl910 从VS2010开始,提供了一个平台工作集(Platform ToolSet)选项用于配制vc编译版本.到了VS2012,更是因为默认平台工具集不支持WindowsXP,导致经常需要 ...

  8. 【持续集成】使用Jenkins实现多平台并行集成

    使用Jenkins实现多平台并行集成 二月 15, 2012 暂无评论 我们的后端C应用都是支持跨平台的,至少目前在Linux和Solaris上运行是没有问题的,这样一来我们在配置持续集成环境时就要考 ...

  9. VS平台工具集版本

    参考:http://blog.csdn.net/hillseas/article/details/47373313 VS从2010之后开始支持使用之前的版本进行编译,可以在工程属性->常规中进行 ...

随机推荐

  1. STM32CubeMX HAL库串口+DMA数据发送不定长度数据接收

    参考资料:1.ST HAL库官网资料 2.https://blog.csdn.net/u014470361/article/details/79206352#comments 一.STM32CubeM ...

  2. Lab keepalived

    [root@node1 keepalived]#cat keepalived.conf ! Configuration File for keepalived global_defs { notifi ...

  3. Unicode vs. UTF-8 etc.

    目测是个老问题了.随便一搜,网上各种总结过.这里不辞啰嗦,尽量简洁的备忘一下. 几个链接,有道云笔记链接,都是知乎上几个问题的摘录:阮一峰的日志,1-5 还是值得参考,但是之后的部分则混淆了 Wind ...

  4. 阿里云Centos+Django+Nginx+uWSGI

    针对系统中自带的Python2.7版本 1.安装python-devel yum install python-devel 2.安装uwsgi pip install uwsgi 3.测试uwsgi是 ...

  5. C++ 引用、构造函数、移动语义

    1.引用 C++中的引用主要用作函数的形参,接近于const指针,必须在创建时初始化. 以Person类为例,如下: Person p;                          //调用P的 ...

  6. day18_雷神_django第一天

    # django_day01 1.http 协议 超文本传输协议,HTTP有很多应用,但最著名的是用于web浏览器和web服务器之间的双工通信. 协议概述 HTTP是一个客户端终端(用户)和服务器端( ...

  7. Android-引导用户指纹录入

    根据不同的手机,跳转到指纹录入界面,如果没有检测到手机的品牌,就提醒用户手动去指纹录入: 首先描述手机信息检测对象,PhoneInfoCheck.java: package com.esandinfo ...

  8. VSCode插件开发全攻略(六)开发调试技巧

    更多文章请戳VSCode插件开发全攻略系列目录导航. 前言 在介绍完一些比较简单的内容点之后,我觉得有必要先和大家介绍一些开发中遇到的一些细节问题以及技巧,特别是后面一章节将要介绍WebView的知识 ...

  9. 【高速接口-RapidIO】5、Xilinx RapidIO核例子工程源码分析

    提示:本文的所有图片如果不清晰,请在浏览器的新建标签中打开或保存到本地打开 一.软件平台与硬件平台 软件平台: 操作系统:Windows 8.1 64-bit 开发套件:Vivado2015.4.2 ...

  10. PHP实现大文件下载

    实现大文件下载的关键在于循环读取字节流 function downloadFile($filename) { //获取文件的扩展名 $allowDownExt = array ( 'rar', 'zi ...