В настоящее время у меня есть следующий код для тестирования:
public class TestClass {
@Tested
private MyClass myClass = new MyClass();
@Test
public void test(@Mocked IntWrapper wrapper) {
new Expectations() {{
wrapper.value();
result = 20;
}};
myClass.doSomething(wrapper);
new Verifications() {{
myClass.larger();
times = 1;
}};
}
}
class IntWrapper {
public int value() {
return 0;
}
}
class MyClass {
public void doSomething(IntWrapper wrapper) {
if (wrapper.value() <= 10) {
smaller();
} else {
larger();
}
}
public void larger() {
System.out.println("Larger than 10");
}
public void smaller() {
System.out.println("Smaller than 10");
}
}
Приведенный выше тестовый код вызовет исключение java .lang.NullPointerException в части проверки. Есть ли что-то, чего я не понимаю в отношении использования проверенных классов? Или есть какие-нибудь способы, которыми я могу проверить вызов метода немодулированных экземпляров класса?
Спасибо!