我有以下代码要测试:
Public MyClass() {
public static final boolean myFunc(int param1, String param2, long param3) {
SomeInterface var1 = SomeEnumImplementingSomeInterface.INSTANCE;
SomeOtherInterface var2 = var1.getInstanceOfSomeOtherInterface();
String str = var2.getValue();
if (str.equals("ABCD"))
return true;
else
return false;
}
}
有什么方法可以在这里将模拟对象分配给 var1 吗?
我能想到的一种解决方法是将 var1 声明为类变量(在这种情况下它必须是静态的,因为访问它的方法是静态的),然后通过白盒将模拟对象分配给它。但我不想仅仅为了测试而改变设计。
请避免建议我更改课程设计。