F.I.R.S.T
整洁的测试遵循以下5条规则
快速(Fast) 测试应该够快。测试应该能快速运行。测试运行缓慢,你就不回想要频繁地运行它。如果你不频繁运行测试,就不能尽早发现问题,也无法轻易修正,从而也不能轻而易举地清理代码。最终,代码就会腐败。
独立(Independent) 测试应该相互独立。某个测试不应该为下一个测试设定条件。你应该可以单独运行每个测试,以及任何顺序运行测试。当测试互相依赖时,头一个没通过就会导致一连串的测试失败,使问题诊断变得困难,隐藏了下级错粗。
可重复(Repeatable) 测试应当可在任何环境中重复通过。你应该能够生产环境、质检环境中运行测试,也能够在无网络的列车上用笔记本电脑运行测试。如果测试不能在任何环境中重复,你就总会有个解释其失败的接口。当环境条件不具备时,你也会无法运行测试。
自足验证(Self-Validating) 测试应该有布尔值输出。无论是通过或失败,你不应该查看日志文件来确认测试是否通过。你不应该手工对比两个不同文本文件来确认测试是否通过。如果测试不能自足验证,对失败的判断就会变得依赖主观,而运行测试也需要更长的手工操作时间。
及时(Timely) 测试应及时编写。单元测试应该恰好在使其通过的生成代码之前编写。如果在编写生成代码之后编写测试,你会发现生成代码难以测试。你可能会认为某些生产代码本身难以测试。你可能不会去设计可测试的代码。
时间: 2024-11-05 17:32:02