Nunit是什么

  Nunit是一种TDD工具,和Junit一样的!


怎么样获取Nunit

  打开Visual Studio工具,然后在菜单栏中的工具->扩展管理器中的联机库中搜索"nunit"(必须要能够连接外网),然后点击安装就可以了,比较方便的。


Nunit使用体验

  创建类库PlugInUnitTest,引用nunit.framework.dll,修改Class1.cs为TestFactory.cs,在类中添加特性[TestFixture],在类中添加特性[Test]

  编译类库。

  如果没有看到Visual NUnit,可以使用Ctl+F7打开该界面。选择该实例之后可以点击Run按钮执行。


Nunit基础知识

[TestFixture]表示:类包含了测试代码(这个特性可以被继承)。这个类必须是公有的,这个类还必须有一个默认构造函数。

  [Test]表示它是一个测试方法。测试方法的返回值必须为void并且不能带有参数

  [SetUp]属性:用来标识方法,在开始所有测试之前执行,用来在测试前初始化一些资源,比如初始化类。

[TearDown]属性:用来标识方法,在所有测试完成之后执行,用来释放一些资源。

  [Ignore]属性:用来标识方法,指示这个方法由于某些原因暂时不需要测试(比如没有完成相关代码)


Nunit常用类和方法 

  Assert(断言):

  如果断言失败,方法将没有返回,并且报告一个错误。

  如果一个方法中包括了多个断言,在失败的断言之后的所有断言将不会被执行。基于这个原因,最好是为每个测试的断言使用try语句。

  1、测试二个参数是否相等

  Assert.AreEqual( int expected, int actual );
  Assert.AreEqual( decimal expected, decimal actual );
  。。。。

  2、测试二个参数是否引用同一个对象

  Assert.AreSame( object expected, object actual );
  Assert.AreNotSame( object expected, object actual );

  3、测试一个对象是否被一个数组或列表所包含

  Assert.Contains( object anObject, IList collection );

  比较断言:

  4、测试一个对象是否大于另一个对象

  Assert.Greater( int arg1, int arg2 );

  5、测试一个对象是否小于另一个对象

  Assert.Less( int arg1, int arg2 );

  类型断言:

  Assert.IsInstanceOfType( Type expected, object actual );

  条件测试:

  Assert.IsTrue( bool condition );
  Assert.IsFalse( bool condition);
  Assert.IsNull( object anObject );
  Assert.IsNotNull( object anObject );
  Assert.IsNaN( double aDouble );
  Assert.IsEmpty( string aString );
  Assert.IsNotEmpty( string aString );
  Assert.IsEmpty( ICollection collection );
  Assert.IsNotEmpty( ICollection collection );

  字符串断言(StringAssert):提供了许多检验字符串值的有用的方法

  StringAssert.Contains( string expected, string actual );
  StringAssert.StartsWith( string expected, string actual );
  StringAssert.EndsWith( string expected, string actual );
  StringAssert.AreEqualIgnoringCase( string expected, string actual );    

Nunit测试工具使用的更多相关文章

  1. Nunit测试工具使用实例

    前言: 本文主要是介绍了Nunit的基本使用,其中参详了很多已有的文章,由于最近要使用其进行测试,所以对网上的文章做了下整理,同时加入了一些自己的实践. NUnit的属性 TestFixture 它标 ...

  2. [liu yanling]常用的测试工具

    常用的测试工具 1. 功能测试工具——QTP 2. 性能测试工具——LoadRunner 3. 测试管理工具——TestDirector 4. 白盒测试工具——Nunit,Junit,C++Test, ...

  3. Java常用测试工具

    第一部分:九款性能测试 Java入门 如果你才刚开始接触Java世界,那么要做的第一件事情是,安装JDK——Java Development Kit(Java开发工具包),它自带有Java Runti ...

  4. web测试工具总结

     纯粹的手工测试早已不满足如今的项目需求,各种测试工具的应用早已成为普遍趋势.如何选取合适的工具来完成对应的测试工作?本文将针对Web测试,列举 一些推荐的测试工具,并加以简单介绍. (每个工具的实际 ...

  5. web性能并发测试工具(转)

    导读:随着Web 2.0技术的迅速发展,许多公司都开发了一些基于Web的网站服务,通常在设计开发Web应用系统的时候很难模拟出大量用户同时访问系统的实际情况,因此,当Web网站遇到访问高峰时,容易发生 ...

  6. 8个超实用的Java测试工具和框架

    Java入门 如果你才刚开始接触Java世界,那么要做的第一件事情是,安装JDK——Java Development Kit(Java开发工具包),它自带有Java Runtime Environme ...

  7. 渗透测试工具BurpSuite做网站的安全测试(基础版)

    渗透测试工具BurpSuite做网站的安全测试(基础版) 版权声明:本文为博主原创文章,未经博主允许不得转载. 学习网址: https://t0data.gitbooks.io/burpsuite/c ...

  8. linux压力测试工具stress

    最近给PASS平台添加autoscaling的功能,根据服务器的负载情况autoscaling,为了测试这项功能用到了stress这个压力测试工具,这个工具相当好用了.具体安装方式就不说了.记录下这个 ...

  9. [.NET] WebApi 生成帮助文档及顺便自动创建简单的测试工具

    ==========最终的效果图========== ==========下面开始干活:生成帮助文档========== 一.创建 WebApi 项目 二.找到 HelpPageConfig.cs 并 ...

随机推荐

  1. 650. 2 Keys Keyboard复制粘贴的次数

    [抄题]: Initially on a notepad only one character 'A' is present. You can perform two operations on th ...

  2. [leetcode]297. Serialize and Deserialize Binary Tree 序列化与反序列化二叉树

    Serialization is the process of converting a data structure or object into a sequence of bits so tha ...

  3. ios 在使用 SDWebimage UIButton setBackgroundimage

    解决方法 : 有法为此在 SDWebImage: SDWebImage / SDWebImage / UIButton+WebCache.h 导入此文件在您的类: #import <SDWebI ...

  4. spring rabbitmq集成

    pom.xml加 <dependency> <groupId>com.rabbitmq</groupId> <artifactId>amqp-clien ...

  5. web工程was部署

    web.xml调整: 新增如下servlet <servlet> <servlet-name>SimpleFileServlet</servlet-name> &l ...

  6. Python:每日一题005

    题目: 输入三个整数x,y,z,请把这三个数由小到大输出. 程序分析: 我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,然后再用x与z进行比较,如果x> ...

  7. frp使用笔记

    参考文档: https://github.com/fatedier/frp/blob/master/README_zh.md#%E9%80%9A%E8%BF%87-frpc-%E6%89%80%E5% ...

  8. vue中的import、export、requre的区别

    在es6之前js一直没有自己的模块语法,为了解决这种尴尬就有了require.js的出现.在es6发布之后js又引入了import的概念使得不清楚两者之间的区别的同学在实际使用过程中造成了自己的误解, ...

  9. ABP框架系列之二十七:(Feature-Management-特征管理)

    Introduction Most SaaS (multi-tenant) applications have editions (packages) those have different fea ...

  10. Codeforces Round #539 (Div. 2) 异或 + dp

    https://codeforces.com/contest/1113/problem/C 题意 一个n个数字的数组a[],求有多少对l,r满足\(sum[l,mid]=sum[mid+1,r]\), ...