微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用TDD方法并避免使用Java静态方法

我刚收到一些关于作业应用程序 Java编码练习的反馈.他们不喜欢解决方案和反馈中陈述的两个问题(我非常感激,因为它给出了非常罕见的反馈):

>显然,我没有使用TDD方法.
>我过度使用静态方法,我知道静态方法是反OO但我只在验证和util类型方法中使用它们.

这里有两个问题:

没有使用TDD方法有什么可能的迹象?

哪种编码风格或模式可以替代静态方法

在前两个回复后,我有一个问题.

您是否同意使用静态方法只会在限制代码的可测试性时出现问题,而不是在自身方法中出现问题.

因此,如果静态方法不限制我的代码的可测试性,那么回到我的求职应用练习解决方案是否仍然不好用?我的验证方法非常简单’Validator.notNull(p,“paramName”)’现在为什么我要模仿它?

非常感谢.

解决方法

不使用TDD的告示标志是对协作者使用静态方法和静态类成员.您不能覆盖静态方法,因此您无法替换模拟以单独使用此类方法来测试类.

您可以使用依赖项注入,而不是在协作者上使用静态协作者或静态方法.在一个简单的编码练习中,您将通过构造函数或通过手动设置器注入依赖项.在现实生活中,您可以使用可用的依赖框架之一.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐