jak*_*ack 4 methods tdd static
我刚刚收到了一些关于求职 Java 编码练习的反馈。他们不喜欢反馈中提到的解决方案和两个问题(我非常感谢,因为给出的反馈非常少):
所以这里有两个问题:
不使用 TDD 方法的可能迹象是什么?
什么编码风格或模式可以替代静态方法?
在前两个回答之后,我还有另一个问题。
您是否同意使用静态方法仅在限制代码的可测试性时才不好,而不是在它们本身不好时。
那么回到我的工作申请练习解决方案,如果静态方法不限制我的代码的可测试性,它仍然不好使用吗?我的验证方法非常简单 'Validator.notNull(p,"paramName")' 现在我为什么要嘲笑它?
非常感谢。
不使用 TDD 的一个明显标志是协作者使用静态方法和静态类成员。您不能覆盖静态方法,因此您不能用模拟来单独使用此类方法来测试类。
您可以使用依赖注入,而不是在协作者上使用静态协作者或静态方法。在一个简单的编码练习中,您将通过构造函数或手动通过 setter 注入依赖项。在现实生活中,您可以使用可用的依赖框架之一。
| 归档时间: |
|
| 查看次数: |
1144 次 |
| 最近记录: |