我想对一个可能返回HTTP状态代码(SERVICE_UNAVAILABLE)的服务进行JUnit测试。对我来说,这可能是不可用的,因为容器正在扩展并且还无法访问。在这种情况下,我让代码重试服务最多3次。我可以模拟一个HttpResponse来进行测试,但只有一种情况。Mockito可以创建一个模拟对象,在第一次尝试时返回一个东西,跟踪尝试的次数并根据尝试次数返回不同的结果吗?我唯一能想到的就是实现我自己的HttpResponse。Mockito有更好的方法吗?
aemubtdh1#
截断连续调用(迭代器风格的截断)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"));
字符串
1条答案
按热度按时间aemubtdh1#
截断连续调用(迭代器风格的截断)
https://www.javadoc.io/doc/org.mockito/mockito-core/latest/org/mockito/Mockito.html#10
字符串