Вы можете использовать набор инструментов JMockit . JMockit - это Java-инфраструктура для проверки объектов в тестах (JUnit / TestNG)
См. Пример ниже
@RunWith(JMockit.class)
public class ServiceTest {
@Tested
private Service myService;
@Injectable
private AnotherService mockAnotherService;
@Test
public void methodTest() {
new Expectations() {{
mockAnotherService.someMethod("someValue"); result = true;
}};
assertTrue(myService.someMethod());
}
}
Служба, подлежащая проверке, должна быть аннотирована @Tested. Если проверяемая служба вызывает другие службы, они должны быть помечены @Injectable (mocks)
. В приведенном выше примере myService.someMethod вызывает AnotherService.someMethod и передает String someValue. JMockit запускает код метода myService и, когда он достигает вызова mockAnotherService, делает этот вызов возвращающим true
mockAnotherService.someMethod("someValue"); result = true;
Прочтите документацию JMockit для получения дополнительной информации.