单元测试 NUnit

来源:互联网 发布:怎么破解网络机顶盒 编辑:程序博客网 时间:2024/05/30 05:28

本内容摘自:《单元测试之道C#版:使用NUnit》

编写目的:供日后参考学习,好记心不如烂笔头。
基本语法
1、单元测试
        断言(Assert)方法:
        。AreEquals
        Assert.AreEquals(expected,actual[,string message]);
        这是使用最多的断言形式,expected:期望值
        actual:被测试代码实际产生的值。
        message:是一个可选的消息,如果提供的话,将会在发生错误的时候报告这一个消息。
        。IsNull
        Assert.IsNull(object,string message);
        Assert.IsNotNull(object,string,message);
        messages:是可选项。
        。AreSame
        Assert.AreSame(expected,actual,string message)
        验证expected参数和actual参数所引用的是否为同一个对象,相同返回true.
        。IsTrue
        Assert.IsTrue(bool conditis,string message)
        验证给定的二元条件是否为真,如果为假的话,将会失败。
        。IsFalse
        Assert.IsFalse(bool condition,string message)
        如果condition(条件)为假,则通过。
        。Fail
        Assert.Fail(string message)
        当执行这个断言时,表示测试失败,这种断言通常被用于标记某个不应该被到达的分支 ,但它在实际中并不常用。

2、需要引用空间:using NUnit.Framework;
[TestFixture]attribute标记,每个包含测试的类都必须加上,该类必须声明为Public,这样测试的程序才可以找到它,构造函数不能带参数。
测试方法需要加入[Test]attribute标记的方法,这样Nunit工具就可以自动运行它。该方法需要标志为Public。

3、分类(Category)Attribute。
[Category("类别名称")]
如果在测试方法的前面加上分类属性,在测试的时候,可以提供按选择的分类执行。参数中的类别名称,可以自定义。
属性的设计有两种方式
        1、[Test,Category("类别")]
        2、[Test]
           [Category("类别")]

4、Per-method的Setup和Teardown
        [Setup]
        [Teardown]
        在每执行一个测试方法的时候,如果有SetUp方法和TearDown系统都会首先执行SetUp属性的方法,再执行TearDown属性的方法。一个测试类中不允许有两个以上的SetUp和TearDown。
5、[TestFixtureSetUp]、[TestFixtureTearDown]用于针对类的执行顺序。
6、[Ignore("message")];忽略的测试方法。

原创粉丝点击