【发布时间】:2014-08-20 14:26:49
【问题描述】:
有不同类型的测试:单元、集成、功能和验收。那么,如果我在进行适当的测试驱动开发,我什么时候编写每种测试?
我认为在典型的 TDD 中,单元测试是在编写代码之前进行的那种测试。我看到的典型工作流程是:
- 写入失败的单元测试
- 运行测试以验证它是否失败
- 编写最简单的传递函数/方法
- 运行测试以验证它是否通过
- 重构代码
太棒了...集成、功能和验收测试从何而来?你是在代码之后写的吗?还是一开始就和单元测试一起写?
另外,作为一个附加问题,我经常听到这种“100% 代码覆盖率”的想法。很容易看出这将如何应用于单元测试——只需对每种方法进行一次测试。但是,您是否应该针对每种测试实现 100% 的代码覆盖率?例如,单元测试是否应该覆盖我的代码的 100%,而功能测试是否应该覆盖我的代码的 100%(尽管从更广泛的角度来看)?
【问题讨论】:
标签: unit-testing testing tdd integration-testing functional-testing