单元测试入门

Rob*_*len 24 unit-testing

粗略地说,单元测试是用测试代码单独测试代码的一部分.想到的直接好处是:

  • 运行测试变得可自动化且可重复
  • 您可以通过GUI进行比点击式测试更精细的测试

Rytmis

我的问题是,在工具方面目前的"最佳实践"是什么,以及何时何地使用单元测试作为日常编码的一部分?

让我们尝试在某种程度上与语言无关并覆盖所有基础.

Joh*_*lan 22

好的,这是一些最佳实践,来自一个没有按照他应该进行单元测试的人......咳嗽.

  1. 确保您的测试只测试 件事和一件事.
  2. 随时编写单元测试.最好编写您正在测试的代码之前.
  3. 不要对GUI进行单元测试.
  4. 分开你的顾虑.
  5. 最小化测试的依赖性.
  6. 模拟behviour与嘲笑.


Jon*_*jap 14

您可能希望在三张索引卡三张索引卡查看TDD,以便轻松记住测试驱动开发的本质:

卡#1.鲍勃叔叔的三条法则

  • 除了通过失败的测试外,不要写任何生产代码.
  • 只写一个测试来证明失败.
  • 只写出足够的生产代码来通过测试.

卡#2:第一原则

  • 快速:心灵快速,如每秒数百或数千.
  • 隔离:测试清楚地隔离故障.
  • 可重复:我可以反复运行它,每次都会以相同的方式通过或失败.
  • 自我验证:测试明确地通过 - 失败.
  • 及时:与微小的代码更改保持同步.

卡#3:TDD的核心

  • 红色:测试失败
  • 绿色:测试通过
  • 重构:清理代码和测试