0和1的世界
这个世界不会在乎你的自尊,它期望你做出成绩,再去强调自己的感受!
    在编写测试代码阶段,单元测试是确保整个项目顺利进行的重要环节,在团队开发中,尤其如此。
   

单元测试的主要目的是获取应用程序中可测试软件的最小片段,将其同代码的其余部分隔离开来,然后确定它的行为是否与预期的一样。分别测试了每个单元后将它们集成到模块中以测试模块之间的接口。单元测试已经证实了它的价值,因为在使用它的过程中识别了大部分缺陷。

最常用的单元测试方法要求编写驱动程序和存根 (stub)。驱动程序模拟调用单元,而存根 (stub) 模拟被调用的单元。开发人员在此活动中的时间投入有时会导致单元测试降到更低的优先级,这几乎总是一个错误。即使驱动程序和存根 (stub) 花费时间和金钱,单元测试仍然提供了一些不容置疑的优点。它考虑了测试过程的自动化,降低了发现应用程序的更复杂片段中包含的错误的难度,并且通常会提高测试的覆盖范围,因为对每个单元都给予了关注。

例如,如果您有两个单元,并认定将它们粘合在一起且最初作为集成单元来测试会更合算,那么错误可能会在不同的地方出现。

  • 错误是否因单元 1 中的缺陷所引起?
  • 错误是否因单元 2 中的缺陷所引起?
  • 错误是否因这两个单元中的缺陷共同引起?
  • 错误是否因这两个单元之间的接口中的缺陷所引起?
  • 错误是否因测试中的缺陷所引起?

在集成模块中查找错误比首先隔离两个单元,测试每一个,然后集成它们并测试整体要复杂得多。

驱动程序和存根 (stub) 可以重用,因此不用额外编写大量的测试代码,就可以经常重新测试开发周期内不断发生的更改。这实际上降低了基于每个用户编写驱动程序和存根 (stub) 的成本,并且可以更好地控制重新测试的成本。(摘自MSDN   :0))

单元测试工具首推xUnit家族的NUnit了,可去http://www.nunit.org 免费下载,就刚才的使用,介绍其简单的使用步骤(follow me ,enjoy it)。 
一:打开待测试的文件,添加对应的程序集(项目------添加引用-------.net选项卡中选择nunit.framework----ok)。
二:添加命名空间,using NUnit.Framework 。
三:在待测试的类和方法前 分别加上 [TestFixture] 和[Test] 。其中的[TestFixture]和[Test]两个Attribute为NUnit所规定必须要添加的,这样,测试框架就可以知道哪些类或者方法需要进行测试。当然,要有更详尽的测试信息,还有更多的Attribute要掌握的,可F1,毕竟是初探嘛。
四:在NUnit中,File---Open  *.csproj 文件  就我的简单开始情况,如下图所示:


有四行的错误提示(红色进度条表示测试失败,绿色表示该方法测试成功),这样可以根据提供的行号,追踪到具体的方法内部,大大提高测试效率,(其他部分从略)。
五:嘿嘿,心动不如行动,相关资源,可参考:http://www.xprogramming.com/xpmag/acsUsingNUnit.htm#N390      http://www.765.net.cn/Article/CJ/200409/826.html        http://www.microsoft.com/china/community/Column/59.mspx 

posted on 2005-03-07 09:45  风过无痕  阅读(3136)  评论(3编辑  收藏  举报