我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:大家发高手网 > 断言 >

DebugAssert C是什么意思

归档日期:06-17       文本归类:断言      文章编辑:爱尚语录

  好象没有这么写的吧?只有Assert表示断言,这是常用于测试项目中使用到的。

  单元测试用来测试你写的类是否符合指定的要求,那么断言是少不了的。断言其实在中国翻译上都有些牵强,什么是断言呢,实际上是一种结果的预测,它是对应该出现的结果预测,说是猜测的话也不正确(因为他可能还是会现其他结果),说是预言也不合适,我打个比方吧,如果我有一个双面都是菊花的魔术硬币,抛出来落到地上,它一定会出现菊花的图案。断言就是把这个硬币抛出,结果(落在地上)硬币一定是菊花图案。这个就是断言!意思就是必须是这个结果!不可能会现字的结果,或者说一个普通硬币,抛出落地后一定是字或面(两种都说明),不可能是第三种结果!这就是断言。如果你的硬币立地上了——这TM硬币也太厚了吧?什么意思呢?一定是你做错了某个东西(比如把硬币做的太厚了)导致出现了不可能出现的结果。

  程序也是一样的,你的程序输入A,必然出现B的结果,不可能会出现其他结果,如果出现了其他结果,那是你做错了,不是断言错了!不管是程序报错了还是给了个C的结果,都是程序错了,而不是断言错了!

  这就是断言,理解这几个例子后你就知道什么是断言了,所以断言涉及了两个方面的内容,一个是运行的结果(实际结果),一个是预期结果(断言结果)。当然针对Assert来说,他的形式有限,还有一种隐藏的预期结果。

  Assert.IsTrue(实际结果);如果与预期结果不相同,则通过报错的方式报出。

  Assert.Eques(运行结果,预期结果):这个如果第二个参数为true时,其实与上文是相同的,关键在于如果是两个数字时,也可以写作Assert.IsTure(运行结果=预期结果);

  想实现单元测试其实很简单,你在类上加[TestClass]特性,在成员方法(只能是无输入无返回的成员方法)加[TestMothed],然后在该方法中调用你要测试的内容,然后测试类的返回结果下个断言即可。

本文链接:http://buffaloruse.net/duanyan/610.html