У меня есть следующий класс:
public class SomeClass {
private Dependency dependency;
public SomeClass(Dependency dep){
this.dependency = dep;
}
public void doSomething(String s){
Foo f = dependency.getFoo(s);
f.doWork(); // fails because f is null
}
}
Я пытаюсь написать модульные тесты, которые будут охватывать метод doSomething, в котором getFoo - это внешний вызов, который я пытаюсь смоделировать следующим образом:
@Mock
private Dependency dep;
@InjectMocks
private SomeClass _sc;
@Test
public void testSimple() {
Foo ff = new Foo();
when(dep.getFoo("abc")).thenReturn(ff);
SomeClass sc = new SomeClass();
sc.doSomething("abc"); // fails on null pointer exception
}
К сожалению, я получаю исключение нулевой ссылки в моем модульном тесте - так как ложный класс не возвращается.Как я могу это исправить?