TA的每日心情 | 开心 2016-4-1 13:14 |
---|
签到天数: 1 天 连续签到: 1 天 [LV.1]测试小兵
|
这是“NUnit学习笔记 VS.net 2005篇”http://www.wzsky.net/html/Program/net/31993.html.我只关注
C#,算是我的Nunit初步学习过程吧.
由于我跟同事的学习方式不同点之一是:再简单的代码,我也是自己敲,而不是COPY。因此尽管这是个非常简单的示例,我还是遇到了以下的问题:
1、 在NUNIT中,点击菜单“File”->“Open”,打开刚才运行生成的可执行文件,总是不能显示出我编写的类。后来我又编写了多个类库和WINDOWS程序,还是不行。折腾了半天后,终于发现:原来是测试类忘了加[TestFixture]!!!!
2、 还是不行,我都快虚脱了,后来终于发现,没有把测试类公布成PUBLIC!!
都是低级错误!但是我还是翻书,对入门人员来说,实践后补充点理论知识是非常有帮助的,至少现在我是这么觉得,呵呵。
(1)产品代码和测试代码的关系:
测试代码仅限于我们内部使用。客户或者最终用户永远都不会看到,更不会使用这些代码。因此,产品代码—也就是最后要发布给客户或者放入产品中的代码—对测试代码是一无所知的。产品代码最后将撇下测试代码独自闯入一个寒冷的世界(这通常意味着测试代码在另一个项目里,在它自己的程序集中)。
(2)测试代码必须要做以下几件事情:
l 准备测试所需要的各种条件(创建所有必须的对象,分配必要的资源等等)。
l 调用要测试的方法。
l 验证被测试方法的行为和期望是否一致。
l 完成后清理各种资源。
(3)当执行测试代码的时候,请记住你从来不直接运行产品代码;至少,并非像个普通用户那样。而是借助于测试代码,让它根据小心控制的条件来执行产品代码。
(4)断言:NUNIT提供了一些辅助函数用于帮助你确定某个被测试函数是否工作正常。通常而言,我们把所有这些函数统称为断言。它让你确定:某条件是否为真;两个数据是否相等,或者不等,或者其他的一些情况。
(5)一个test fixture(也就是一个用[TestFixture]attribute标记的类)包含一个或多个测试方法:每个方法含一个或多个断言。一个程序集(assembly)可以包含多个test fixture。 |
|