【发布时间】:2015-08-10 21:35:14
【问题描述】:
我正在考虑重构我们的一些实用程序类(静态类)。 静态类很难测试,主要问题是它的制作 我们的代码耦合非常紧密,依赖很多。 用于重构的最佳设计模式是什么? 我考虑过使用构建器的不可变对象,但我不确定
将此代码视为 1 我要重构
public class UtilTest {
public static boolean isEligibleItem(Item item){
if(isCondition1(item)){
return isCondition2(item);
}
return false;
}
public static boolean isCondition1(Item item){
//go to service that go to the data base
return false;
}
public static boolean isCondition2(Item item){
//go to service that go to the data base
return false;
}
}
如果我想测试我的 isEligibleItem() 方法,我需要模拟去 db 的 2 方法。 我不能这样做,因为它们是静态的。我想避免使用 Powermock
【问题讨论】:
-
也许举个例子会有用。你能告诉我们吗?
-
有时你想模拟他们,他们这样做可能很麻烦。
-
你能显示一些代码吗?如果不知道代码在做什么,很难提供响应
-
没有具体的代码讨论,这个问题不清楚或太宽泛。如果您确实有具体的代码要讨论,那么您最好在Code Review 上提问。
-
与流行的看法相反,静态方法很容易测试。另一方面,调用静态方法的方法......不是。
标签: java oop design-patterns immutability