单元测试之道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")];忽略的测试方法。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12639172/viewspace-442050/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/12639172/viewspace-442050/

完整的中文单元测试之道C#》。单元测试不但会使你的工作完成得更轻松,而且会令你的设计变得更好,甚至大大减少你花在调试上面的时间。 在我们上面的小故事里面,Pat 因为假设底层的代码是正确无误的而卷入麻烦之中,先是高层代码中使用了底层代码;然后这些高层代码又被更高层的代码所使用,如此往复。在对这些代码的行为没有任何信心的前提下,Pat 等于是在假设上面用竖立卡片堆砌了一间房子——只要将下面卡片轻轻移动,整间房子就会轰然倒塌。 当基本的底层代码不再可靠时,那么必需的改动就无法只局限在底层。虽然你可以修正底层的问题,但是这些对底层代码的修改必然会影响到高层代码,于是高层代码也连带地需要修改;以此递推,就很可能会动到更高层的代码。于是,一个对底层代码的修正,可能会导致对几乎所有代码的一连串改动,从而使修改越来越多,也越来越复杂。于是,整间由卡片堆成的房子就由此倒塌,从而使整个项目也以失败告终。 Pat 总是说:“这怎么可能呢?”或者“我实在想不明白为什么会这样”。如果你发现自己有时候也会有这种想法,那么这通常是你对自己的代码还缺乏足够信心的表现——你并不能确认哪些是工作正常的而哪些不是。 为了获得Dale 所具有的那种对代码的信心,你需要“询问”代码究竟做了什么,并检查所产生的结果是否确实和你所期望的一致。 这个简单的想法描述了单元测试的核心内涵:这个简单有效的技术就是为了令代码变得更加完美。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值