Unit testing 单元测试入门
粗略地说,单元测试是在与测试代码隔离的情况下测试代码的各个部分。我想到的直接好处是:Unit testing 单元测试入门,unit-testing,Unit Testing,粗略地说,单元测试是在与测试代码隔离的情况下测试代码的各个部分。我想到的直接好处是: 运行测试变得自动化和可重复 您可以通过GUI在比点击测试更细粒度的级别上进行测试 我的问题是,在工具方面,以及在何时何地将单元测试作为日常编码的一部分,当前的“最佳实践”是什么 让我们尽量做到语言不可知,涵盖所有基础。xUnit家族是单元测试的支柱。它们被集成到Netbeans、Eclipse和许多其他IDE中。它们为单元测试提供了一个简单、结构化的解决方案 在编写测试时,我经常尝试做的一件事就是尽量减少
- 运行测试变得自动化和可重复
- 您可以通过GUI在比点击测试更细粒度的级别上进行测试
让我们尽量做到语言不可知,涵盖所有基础。xUnit家族是单元测试的支柱。它们被集成到Netbeans、Eclipse和许多其他IDE中。它们为单元测试提供了一个简单、结构化的解决方案
在编写测试时,我经常尝试做的一件事就是尽量减少外部代码的使用。我的意思是:我尽量减少测试的设置和拆卸代码,尽量避免使用其他模块/代码块。编写良好的模块化代码在设置和拆卸时不需要太多的外部代码。所谓的框架被广泛使用。它最初是作为SUnit为Smalltalk开发的,后来演变为JUnit for Java,现在有许多其他实现,如NUnit for.Net。这几乎是一个事实上的标准——如果你说你在使用单元测试,大多数其他开发人员会认为你指的是xUnit或类似的工具。一个关于“最佳实践”的好资源是,例如最近发布的一篇文章是一个非常好的资源。特别是他们的“厕所测试”系列每周帖子非常适合在你的立方体或厕所周围发布,因此你可以随时考虑测试 好的,这里有一些最佳实践,来自一些没有尽可能多地进行单元测试的人……咳嗽
NUnit是任何.NET语言的好工具 单元测试可以通过多种方式使用:
- 除了通过失败的测试外,不要编写生产代码
- 仅编写足以证明失败的测试
- 只编写足够的生产代码以通过测试
- 快:令人麻木的快,如每秒数百或数千次
- 隔离:测试可清楚地隔离故障
- 可重复:我可以重复运行,每次都会以相同的方式通过或失败
- 自我验证:测试明确通过失败
- 及时:通过微小的代码更改同步生成
- 红色:测试失败
- 绿色:考试通过
- 重构:干净的代码和测试