【Nunit入门系列讲座 6】NUnit断言- 条件断言

作者:shinoy
时间:2012/2/3 版权所有,侵权必究。
出处: http://blog.csdn.net/snowshinoy 


本节示例代码下载:示例代码


        首先,对喜欢本系列文章的朋友感觉非常抱歉,由于年前项目太忙加上杂事太多,所以本系列的更新停滞了一段时间。现在虽然依然挺忙,还是决定抽点时间不断更新,希望大家继续支持。在这一节中,我们来看下NUnit中的条件断言语句,顾名思意,条件断言就是根据条件的成立与否来决定测试是否通过。由于条件判断的结果是一个布尔量,也就是我们常说的是与否,而在.NET中这种布尔量可以在多种地方出现-函数的返回,类成员属性,某个用户自己定义的比较过程等等。这就决定了NUnit的条件断言是可以很灵活的,从最简单的判断一个值,到自定义一些复杂的条件完成比较复杂的测试。

  一、条件语句及布尔量

        学习过某种编程语言的朋友对这2个概念都不会陌生。大部分的高级语言都定义了布尔类型,该类型的变量可以有TRUE或者FALSE两种值。而条件语句是程序中分支存在的前提,更是必不可少,条件语句结果值就是布尔量。但是布尔类型并不是在所有的语言中都支持,例如C99标准之前的C语言。这类语言中,一般通过其他方式来表示TRUE或者FALSE的概念,C语言中使用的是0值和非0值来表示FALSE和TRUE。所以很多从C语言转入.NET的朋友就会想当然的认为BOOL量和整型可以通用,但是其实在.NET中,布尔量是一个基本的类型,不能和数值类型直接比较和赋值。

        我们在.NET中这样初始化布尔变量:

bool on = 1;
        就会得到一个编译错误: error CS0031: Constant value '1' cannot be converted to a 'bool',而这样的赋值在C语言中是没有什么问题的。大家在使用条件断言时,一定要注意这样的问题,不能想当然的认为某些类型可以和布尔类型通用。

        

  二、条件断言及在测试中应用

        我们先来熟悉下NUnit中支持的条件断言语句:

Assert.IsTrue( bool condition );
Assert.IsTrue( bool condition, string message );
Assert.IsTrue( bool condition, string message, object[] parms );

Assert.True( bool condition );
Assert.True( bool condition, string message );
Assert.True( bool condition, string message, object[] parms );

Assert.IsFalse( bool condition);
Assert.IsFalse( bool condition, string message );
Assert.IsFalse( bool condition, string message, object[] parms );

Assert.False( bool condition);
Assert.False( bool condition, string message );
Assert.False( bool condition, string message, object[] parms );

       

        这样的格式与我们在前面学习的相等断言基本一样,所以我们很快就能看出他的用法。IsTrue 和 True方法主要用来判断condition这个条件语句是否为真,如果不为真则抛出AssertionException.异常给NUnit,IsFalse和False主要相应就是判断condition这个条件语句是否为假,不为假再抛出AssertionException.

        我们现在使用条件断言来测试讲座3里我们用到的计算器程序(参考http://blog.csdn.net/snowshinoy/article/details/6967054),这个程序我们已经知道包含了add和sub方法,并且暂时只支持int类型。我们将讲座3里的测试用例,重新使用新的条件断言重新实现一遍。

[Test]
public void AddTestbyCondition()
{
  Calculate calculate = new Calculate();
  Assert.True((calculate.add(9, 3) == 12), "add 9 and 3
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值