粗略地说,单元测试是用测试代码单独测试代码的一部分。想到的直接好处是:
- 运行测试变得可自动化且可重复
- 您可以通过GUI
进行比点击式测试更精细的测试
我的问题是,目前工具方面的“最佳做法”是什么,以及何时何地使用单元测试作为日常编码的一部分?
让我们尝试在某种程度上与语言无关并覆盖所有基础。
答案 0 :(得分:22)
好的,这是一些最佳实践,来自一个没有按照他应该进行单元测试的人......咳嗽。
答案 1 :(得分:14)
您可能需要查看TDD on Three Index Cards和Three Index Cards to Easily Remember the Essence of Test-Driven Development:
卡#1。鲍勃叔叔的三条法则
卡片#2:第一原则
卡#3:TDD的核心
答案 2 :(得分:3)
所谓的xUnit框架被广泛使用。它最初是为Smalltalk开发的,作为SUnit,演变成JUnit for Java,现在有许多其他实现,如NUnit for .Net。它几乎是事实上的标准 - 如果你说你正在使用单元测试,大多数其他开发人员会认为你的意思是xUnit或类似的。
答案 3 :(得分:3)
“最佳做法”的重要资源是Google Testing Blog,例如Writing Testable Code上的最新帖子是一个很棒的资源。特别是他们的“厕所测试”系列每周帖子非常适合在您的立方体或厕所周围张贴,因此您可以随时考虑测试。
答案 4 :(得分:1)
xUnit系列是单元测试的中流砥柱。它们集成在Netbeans,Eclipse和许多其他IDE中。它们为单元测试提供了简单,结构化的解决方案。
在编写测试时我总是尝试做的一件事是尽量减少外部代码的使用。我的意思是:我尽可能地尽量减少测试的设置和拆卸代码,尽量避免使用其他模块/代码块。编写良好的模块化代码在设置和拆卸时不需要太多外部代码。
答案 5 :(得分:0)
NUnit是适用于任何.NET语言的好工具。
可以通过多种方式使用单元测试:
答案 6 :(得分:0)
不要忘记重构支持。 ReSharper on .NET为丢失的代码提供自动重构和快速修复。这意味着如果你打电话给不存在的东西,ReSharper会询问你是否要创建缺失的部分。