【发布时间】:2011-03-16 13:59:06
【问题描述】:
我是单元测试领域的新手,本周我刚决定为我现有的应用添加测试覆盖率。
这是一项艰巨的任务,主要是因为要测试的类数量众多,还因为编写测试对我来说是全新的。
我已经为一堆类编写了测试,但现在我想知道我是否做得对。
当我为一个方法编写测试时,我有第二次重写我已经在方法本身中编写的内容的感觉。
我的测试似乎与方法紧密相关(测试所有代码路径,期望使用某些参数多次调用某些内部方法),似乎如果我重构该方法,测试将失败,即使该方法的最终行为没有改变。
这只是一种感觉,如前所述,我没有测试经验。如果一些更有经验的测试人员可以就如何为现有应用编写出色的测试提供建议,我们将不胜感激。
编辑:我要感谢 Stack Overflow,我在不到 15 分钟的时间里有很好的投入,回答了我刚刚完成的更多在线阅读时间。
【问题讨论】:
-
这是最好的单元测试书籍:manning.com/osherove 它解释了单元测试的所有最佳实践、注意事项。
-
所有这些答案遗漏的一件事是单元测试就像文档。因此,如果您编写一个函数,您将通过描述其输入和输出(以及可能的副作用)来记录其意图。那么,单元测试旨在验证这一点。如果您(或其他人)后来对代码进行了更改,文档应该解释可以进行哪些更改的边界,并且单元测试会确保保持边界。
标签: unit-testing testing