1、 下载和安装Nunit工具:

NUnit是一款堪与JUnit齐名的开源的回归测试框架,供.net开发人员做单元测试之用,可以从www.nunit.org网站上免费获得,然后在系统中安装;

2、 在VS2010中做配置:

Ø 选择【工具】——【外部工具……】

Ø 点击【添加】,在<标题>和<命令>中分别填写名称和指定外部工具启动的exe

Ø 在【工具】下面可以看到刚添加配置的外部工具“Nunit2.6”,后面就可以直接通过VS这里来启动Nunit;

3、 单元测试的一般流程:

Ø 被测试的项目以及函数

Ø 新建一个项目,作为测试项目

Ø 一般我们新建测试项目,选择类库就够了,名称用被测试的项目后面加上Test;

Ø 这里,我们直接将生成的类改名成被测试的类,以后该被测试类的方法做的单元测试用例都可以放着这个测试类中

Ø 我们首先需要在测试项目中引用被测试的程序集和nunit framwork

Ø 被测程序集的引用

Ø nunit framwork的引用

做完后后,我们可以在测试项目的引用下面看到:

Ø 在测试类中添加“using Nunit.Framework”

Ø 设计和编写单元测试用例,我们需要注意:

² 我们使用的是nunit框架,所以在测试类中需要在添加[TestFixture]和[Test]来标示这是一个测试类和测试方法

² 测试方法的返回类型必须是void,方法参数为空

² 另外我们可以通过属性来做一些控制,以便使用更加灵活

² 用Assert断言来比对预期结果和实际结果

Ø 生成测试项目(也就是我们说的编译)

Ø 通过VS打开Nunit工具,【工具】——【Nunit2.6】

Ø 新建一个project,【file】——【New Project…】

Ø 选择路径和填写名称

Ø 在项目中,添加测试程序集,【Project】——【Add Assembly…】

我们可以看到三个程序集,被测试的程序集,测试程序集和nunitframework的

Ø Nunit 工具中展示的和我们设计的单元测试用例一致

Ø 运行后我们可以看到测试结果,红色表示失败、黄色表示未运行、绿色表示通过

² 失败的结果

² 忽略不运行的结果

C#单元测试Nunit小结(20141018)的更多相关文章

  1. C#单元测试Nunit小结

    1. 下载和安装Nunit工具: NUnit是一款堪与JUnit齐名的开源的回归测试框架,供.net开发人员做单元测试之用,可以从www.nunit.org网站上免费获得,然后在系统中安装: 2. 在 ...

  2. Unity 单元测试(NUnit,UnityTestTools)

    在软件开发中单元测试是非常重要的一个环节, =.=盘子脸去了几家公司都没有单元测试这个概念. 我们的系统虽然从代码看上是分离的, 在多数情况下都需要依赖于其他模块来运行.(单元测试部分内容教我解决这个 ...

  3. 使用Junit对Spring进行单元测试实战小结

    Demo代码: @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = "classpath*:/ ...

  4. 单元测试NUnit 的文章

    请参考 https://www.cnblogs.com/ranh941/p/7629279.htmlhttps://blog.csdn.net/qincode/article/details/1831 ...

  5. 单元测试NUnit,mock组件NSubstitute,信号量SemaphoreSlim,异步lock等例子

    public class LockTest { private IDatabase _database; private readonly Random _random = new Random(); ...

  6. Nunit NMock Ncover单元测试

    Nunit中如何进行事务性单元测试   单元测试要求:单元测试方法并不真正去变更数据库,也就是说单元测试不依赖于数据库中的数据.那我们如何解决执行单元测试方法后,不变更数据库中数据呢? 一般的解决方案 ...

  7. 好代码是管出来的——.Net Core中的单元测试与代码覆盖率

    测试对于软件来说,是保证其质量的一个重要过程,而测试又分为很多种,单元测试.集成测试.系统测试.压力测试等等,不同的测试的测试粒度和测试目标也不同,如单元测试关注每一行代码,集成测试关注的是多个模块是 ...

  8. 使用xUnits来实现单元测试

    目录 前言 单元测试 xUnit 小结 附录 前言 从开始敲代码到现在,不停地都是在喊着记得做测试,记得自测,测试人员打回来扣你money之类的,刚开始因为心疼钱(当然还是为了代码质量),就老老实实自 ...

  9. 我的TDD实践---UnitTest单元测试

    我的TDD实践---UnitTest单元测试 “我的TDD实践”系列之UnitTest单元测试 写在前面: 我的TDD实践这几篇文章主要是围绕测试驱动开发所展开的,其中涵盖了一小部分测试理论,更多的则 ...

随机推荐

  1. 重新想,重新看——CSS3变形,过渡与动画④

    最后,我们来探讨一下CSS3的动画属性. 之前提到过,实际上过渡也算作动画的一种.但过渡作为动画的缺陷在于,只能使元素属性从一个值“过渡”至另一个值,但如果想要使元素的属性值根据需要在时间轴上不断变化 ...

  2. 用python打印99乘法口诀表

    代码如下 #!/usr/bin/env python # encoding: utf-8 __author__ = 'Nicholas.Cage' i = 1 j = 1 while i <= ...

  3. JAVA国际化输出日期格式

    1.建议控制台程序 使用 IntelliJ IDEA  创建 MAVEN项目, 不选别的选项,则为控制台程序. (其它方式创建的控制台程序可能编译不过) 2.源码如下: import java.tim ...

  4. Codeforces - 828E DNA Evolution —— 很多棵树状数组

    题目链接:http://codeforces.com/contest/828/problem/E E. DNA Evolution time limit per test 2 seconds memo ...

  5. mysql5.7.22安装步骤

    在官网上下载mysql的压缩包,然后解压 (下载地址:https://dev.mysql.com/downloads/mysql/) 1.打开cmd,建议使用管理员的身份打开cmd,如果不用使用管理员 ...

  6. Why not inherit from List<T>?

    问题: When planning out my programs, I often start with a chain of thought like so: A football team is ...

  7. mathematical method

    mathematical method 曲线拟合 指数 \(lnY = lna + bX\) 对数 \(Y = blnX + a\) 幂函数 \(lgY=lga+blgX\) 多元线性回归模型 回归分 ...

  8. base64 原理

    Base64编码之所以称为Base64,是因为其使用64个字符来对任意数据进行编码,同理有Base32.Base16编码.标准Base64编码使用的64个字符为: 这64个字符是各种字符编码(比如AS ...

  9. C# 操作FTP

    操作FTP管理类: using System; using System.Collections.Generic; using System.Text; using System.Net; using ...

  10. html和JavaScript,用户点击浏览器后退按钮,或者返回上一步自动刷新方式

    浏览器用户返回上一步,自动刷新 方式一. <input type="hidden" id="refreshed" value="no" ...