Пытаюсь протестировать мой запасной метод, но, к сожалению, он никогда не вызывается :( Некоторые классы вызывают такой метод:
@Service
@EnableCircuitBreaker
public class ServiceOne
{
@Inject
private HystrixService hystrixService;
public String callCommand(int id, String name)
{
return hystrixService.callCommand(id, name);
}
}
Вот так выглядит мой HystrixService:
@Service
public class HystrixService
{
@Inject
private ServiceTwo serviceTwo;
@Override
@HystrixCommand(fallbackMethod = "fallback")
public String callCommand(final int id, final String name)
{
return serviceTwo.callMethod(id, name);
}
public String fallback(final int id, final String name)
{
return "blablabla";
}
}
Мой тест:
//class
@Inject
@Spy
private ServiceTwo serviceTwo;
@Inject
@Spy
private ServiceOne serviceOne;
@Test
public void test_fallBack()
{
doThrow(new RuntimeException()).when(serviceTwo).callMethod(1,
"name");
String res = serviceOne.callCommand(1, "name");
}
Почему мой сервис никогда не возвращает заглушку "blablabla", он постоянно выдает исключение RuntimeException и никогда не возвращается к резервному методу. Что я делаю не так?