我一直在阅读,使用 TDD 时往往会避免使用静态方法,因为它们往往难以模拟。不过我发现,单元测试最简单的事情是具有简单功能的静态方法。不必实例化任何类,鼓励简单的方法,做一件事,是“独立的”等。
有人可以解释 TDD 最佳实践和实用易用性之间的这种差异吗?
谢谢, 一个
最佳答案
静态方法容易测试,但是直接调用静态方法的东西,独立于依赖的静态方法一般不好测试。对于非静态方法,您可以使用 stub /模拟/假实例来简化测试,但如果您正在测试的代码调用静态方法,它实际上是“硬连接”到该静态方法。
关于c++ - 静态方法和单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4220852/