Я ищу, чтобы издеваться над статическим методом класса поддержки, и для этого мне нужно издеваться над методом тестируемого класса с помощью jMockit. В приведенном ниже примере, я хочу, чтобы moker метод canContinue, чтобы всегда входить в условие if. Я также wnt, чтобы издеваться над статическим методом и проверять все, что происходит после этого.Частичный издевательский класс под тестированием
public class UnitToTest {
public void execute() {
Foo foo = //
Bar bar = //
if (canContinue(foo, bar)) {
Support.runStaticMethod(f);
// Do other stuff here that I would like to verify
}
}
public boolean canContinue(Foo f, Bar b) {
//Logic which returns boolean
}
}
Мой метод тестирования выглядит следующим образом:
@Test
public void testExecuteMethod() {
// I would expect any invocations of the canContinue method to
// always return true for the duration of the test
new NonStrictExpectations(classToTest) {{
invoke(classToTest, "canContinue" , new Foo(), new Bar());
result = true;
}};
// I would assume that all invocations of the static method
// runStaticMethod return true for the duration of the test
new NonStrictExpectations(Support.class) {{
Support.runStaticMethod(new Foo());
result = true;
}};
new UnitToTest().execute();
//Verify change in state after running execute() method
}
Что я здесь делаю неправильно? Изменение первого ожидания метода canContinue для возврата false не влияет на то, выполняется ли выполнение кода внутри условия if.
, если заменить новые NonStrictExpectations (classToTest) с новых NonStrictExpectations (UnitToTest.class) , которые должны быть зафиксированы – Jorgeejgonzalez