Я хотел бы использовать Mockito для тестирования EJB. Метод get()
возвращает результат запроса базы данных, а transformedGet()
выполняет бизнес-логику в сеансовом компоненте.Метод mocked возвращает null вместо ожидаемого
Если вы вызываете mockFoo.get()
, он работает должным образом. Но когда mockFoo.transformedGet()
вызывает метод get()
, он возвращает с нулевым значением вместо ожидаемого значения.
Я хотел бы протестировать бизнес-логику и изолировать запрос базы данных. Можно ли это сделать с Mockito?
Класс для проверки:
public class Foo {
public String get() {
return "get";
}
public String transformedGet() {
return "transformed" + get();
}
}
Тест:
@Test
public void mockitoTest() {
Foo mockFoo = Mockito.mock(Foo.class);
String expected = "test";
Mockito.when(mockFoo.get()).thenReturn(expected);
String actual = mockFoo.get();
Assert.assertEquals(actual, expected);
String transformed = mockFoo.transformedGet();
Assert.assertEquals(transformed, "transformed" + expected);
}