gpt4 book ai didi

java - Mockito 测试具有调用网关服务步骤的方法

转载 作者:行者123 更新时间:2023-12-01 11:07:48 24 4
gpt4 key购买 nike

我正在使用 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com