我正在使用 Spring-Breaker project 对我的代码实现断路器解决方案并正在为其编写测试用例。
考虑以下示例:
@CircuitBreaker
methodA() {
//some code
gatewayServiceCall()
//some code
}
我需要测试 methodA 并使用 CircuitBreaker 超时使其失败,因此我编写了一个测试类来模拟它。
setup() {
gatewayService = mock(GatewayService.class);
when(gatewayService.methodName().thenReturn(something);
}
@Test
testMethodA() {
methodA();
}
如何确保调用 methodA() 并模拟 gatewayServiceCall。
我希望问题很清楚。如果不是,请告诉我。我会尝试进一步详细说明。
谢谢。
最佳答案
你可以写一个 hibernate 的答案:
final Foo fooFixture = new Foo();
Answer<Foo> answer = new Answer<Foo>() {
@Override
public Foo answer(InvocationOnMock invocation) throws Throwable {
Thread.currentThread().sleep(5000);
return fooFixture ;
}
};
when(gatewayService.methodName()).thenAnswer(answer);
关于java - Mockito 测试具有调用网关服务步骤的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32743338/