tva*_*son 53
TDD - 首先编写测试,强制您考虑可测试性并帮助编写实际需要的代码,而不是您认为可能需要的代码
重构接口 - 使模拟更容易
公共方法虚拟,如果不使用接口 - 使模拟更容易
依赖注入 - 使模拟更容易
更小,更有针对性的方法 - 测试更集中,更容易编写
避免静态类
除非必要,否则请避免使用单身人士
避免密封课程
小智 5
编写测试时(与任何其他软件任务一样)不要重复自己(DRY原则).如果您的测试数据对多个测试有用,那么将它放在两个测试都可以使用的地方.不要将代码复制到两个测试中.我知道这似乎很明显,但我发现它一直都在发生.
我敢肯定我会对此投反对票,但无论如何我都会发表意见:)
虽然这里的许多建议都很好,但我认为需要稍微调整一下。目标是编写更健壮、可更改和可维护的软件。
目标不是拥有可单元测试的代码。尽管可测试的代码不是目标,但还是付出了很多努力使代码更“可测试”。这听起来非常好,我相信它会给人们带来温暖的模糊感,但事实是所有这些技术、框架、测试等都是有代价的。
它们在培训、维护、生产力开销等方面花费时间。有时值得,有时不值得,但您永远不应该戴上眼罩,并提前使您的代码更“可测试”。