Я следующий код для проверки:Mock перечисление конкретизации с помощью powermock
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 как переменную класса (в этом случае он должен быть статичным, так как метод, к которому он обращается, является статическим), а затем присваивает ему определенный объект whiteboxing. Но я не хочу менять дизайн только ради тестирования.
Пожалуйста, избегайте предлагать мне изменение в дизайне класса.
Похоже, вы пытаясь проверить, как возвращается метод 'var1.getInstanceOfSomeOtherInterface()'. Зачем вам нужно издеваться над перечислением? –
Это хорошая идея для разработки классов, чтобы их можно было легко протестировать. – greuze
@BheshGurung Я пытаюсь проверить значение, возвращаемое 'var2.getValue()'. Я упростил фактический класс. Некоторые другие значения передаются этой функции getValue(). – rajneesh2k10