我想对可能返回HTTP代码(SERVICE_UNAVAILABLE)的服务进行JUnit测试。对我来说,这可能是不可用的,因为容器被放大并且还无法到达。在这种情况下,我让代码重试服务最多3次。
我可以模拟HttpResponse进行测试,但只有一种情况。Mockito能否创建一个模拟对象,在第一次尝试时返回一件东西,跟踪尝试次数,并根据尝试号返回不同的结果?我唯一能想到的就是实现我自己的HttpResponse。有什么更好的方法吗?
谢谢,伍德斯曼
发布于 2022-03-17 19:35:57
阻塞连续调用(迭代器样式的阻塞)
https://www.javadoc.io/doc/org.mockito/mockito-core/latest/org/mockito/Mockito.html#10
when(mock.someMethod("some arg"))
.thenThrow(new RuntimeException())
.thenReturn("foo");
//First call: throws runtime exception:
mock.someMethod("some arg");
//Second call: prints "foo"
System.out.println(mock.someMethod("some arg"));
//Any consecutive call: prints "foo" as well (last stubbing wins).
System.out.println(mock.someMethod("some arg"));https://stackoverflow.com/questions/71517232
复制相似问题