断言(Assert)                              

    在单元测试代码里断言是无处不在的,我们应该合理的使用断言来验证数据!

    它是一个静态类,主要有下面几种方法用来验证函数的结果跟我的预期是否一致!

    ① Assert.AreEqual

      主要是验证函数产生的影响值或返回的值跟预期是否一致,这个方法不适 合验证返回的数据集以及集合之类的数据,

      主要针对字符串,数字等等的单一类型,它还有个泛型重载,这个是比较好的,建议多使用,它还有第三个参数,是一个 string型的message,基本上不会用到!

       ☆ Note不要把参数的含义搞混,第一个参数是你的期望值(Except),第二个参数是函数返回或影响程序产生的实际值(Actual),

          不要把两个颠倒过来,因为如果运行正确没有什么大碍,如果运行产生错误,有的时候就会看错掉,造成判断失误,要注意了,这是一个规范!

       例子:

                 Assert.AreEqual<string>("a", "a", "cheng xu yuan"); 

    ② Assert.AreNotEqual    

      没什么要讲的,情况跟上面相反,主要是验证实际值跟期望值不相等的情况!

    ③ Assert.AreSame

      判断实际值跟预期值的类型是否一致!

    ④ Assert.AreNotSame

      跟上面正好相反,测试类型不一致!

    ⑤ Assert.IsNotNull,Assert.IsNull,Assert.IsTrue,Assert.IsFalse

      看这些方法名就知道什么意思了!

    ⑥ Assert.IsInstanceOfType,Assert.IsNotInstanceOfType

      判断指定的对象是否是指定的类型!

    ⑦ Assert.Fail

      迫使断言失败,不管前面的断言是否都成功了,但测试结果是错误的,因为我强制断言失败了!

     总结:一个好的测试案例,里面的断言至少是大于一个的,这样才能验证数据的准确性,保证验证数据的严谨性!

     例:如果实际值是个DataSet一般测试流程为:①判断是否为“null” → ②判断是否为“Empty”(验证是否有数据) →③ 接下来再验证数据的一致性,所以验证DataSet的基本流程就是这样的!  

posted on 2012-07-17 16:48  cotopboy  阅读(189)  评论(0编辑  收藏  举报