我相信大多数人都在编写大量的自动化测试,而且在进行单元测试时你也遇到了一些常见的陷阱.
我的问题是你是否遵循任何编写测试的行为规则以避免将来出现问题?更具体一点:良好单元测试的属性是什么,或者您如何编写测试?
鼓励语言不可知的建议.
language-agnostic tdd integration-testing unit-testing testing-strategies
我一直在疯狂地创建单元测试,发现我经常需要在一次测试中设置一些我刚刚在之前的测试中被删除的测试.在一次测试中创建一些东西(例如数据库记录)是否合理(例如插入测试)然后用它来进行后续测试(例如删除测试)?或者每个测试是否应该完全独立?
您甚至可以确定NUnit中的测试顺序还是按字母顺序完成?
注意:我特别询问一个测试文件中的测试顺序. 不跨测试文件或以任何方式更全局.
更新:感谢所有回答的人 - 有很多很好的答案,团队的感觉非常一致.我选择了John Nolan的答案,因为他提供了最全面的解释和很多链接.正如你可能已经猜到的那样,尽管我认为像约翰所说的那样可能有点"臭",但我一直非常想要打破这个规则.还要感谢Fortyrunner添加单元测试标签.