一般来说,我仍然是一个单元测试新手。
顺便说一句,您可能还会在 xUnit.net 等其他论坛上看到这个问题,
因为这对我来说是一个重要的问题。我提前为我的
交叉发帖道歉;您的意见对我来说非常重要,并不是
这个论坛中的每个人都属于其他论坛。
我正在查看一个拥有十年历史的大型遗留系统,该系统
最近编写了 700 多个单元测试(700 个只是一个小开始)。测试恰好是用
MSTest 编写的,但这个问题适用于所有测试框架 AFAIK。
当我通过 vs2008 "ALL TESTS" 运行时,最终计数只有七个测试。
这大约是迄今为止编写的测试总数的 1%。
更多信息: ASP.NET MVC 2 RTM 源代码,包括其单元测试,
可在 CodePlex 上获得;这些单元测试也是用 MSTest 编写的,
尽管(一个不相关的事实)Brad Wilson 后来
作为高级程序员加入了 ASP.NET MVC 团队。所有 2000 多个测试都会运行,而不仅仅是少数几个。
问题:鉴于 AFAIK 单元测试的目的是识别
SUT 中的损坏,我认为“最佳实践”是始终
或至少非常频繁地运行所有测试是否正确?
更新于 2010-05-22
首先,感谢所有提供出色答案的人。您的回答证实了我的一般结论,即在每次本地重建之后运行所有单元测试是最佳实践,无论是练习 TDD(测试前)还是经典单元测试(测试后)。
恕我直言,这个问题有不止一个最佳答案,但 AFAIK SO 让我只选择一个,所以为了公平起见,我给 Pete Johns 打上了复选标记,因为他是第一名并获得了最多的选票SO社区。芬兰的 Esko Luontola 也给出了一个很好的答案(我希望他没有被火山灰掩埋)和两个非常好的链接,恕我直言;绝对是 FIRST 的链接对我来说是鼓舞人心的;AFAIK,.NET 世界中只有 xUnit.net 提供“任何订单,任何时间”。Esko 的第二个链接是由 JB (Joe) Rainsberger 提供的真正出色的 92 分钟视频“集成测试是骗局”(http://jbrains.ca,其中有更多值得我花时间的内容)。顺便说一句,Esko 的博客也值得一游http://orfjackal。