0
我有一个类和它看起来像这样单元测试API?
class A {
private RetryLogic logic;
private Service serviceClient;
public A(){
logic = new RetryLogic();
serviceClient = new Service();
}
public Response methodA() {
Request request = new Request();
serviceClient.addRetryLogic(logic);
Responce response = serviceClient.call(request);
return response;
}
}
重试逻辑在这种情况下,将重试服务调用如果有喜欢的服务不可用或任何HTTP错误故障的方法。
但是如果服务被调用并抛出任何建模的异常,它将不会重试。
如果我正在为methodA编写单元测试,是否适合(或者应该担心)通过添加一个模拟HTTP异常并检查重试是否有效的测试来测试重试逻辑?
重试逻辑基本上是不属于我的不同包。
当然,你可以在JUnit中这样注释测试:@Test(expected = AnyKindOfException.class) – Stefan
是的,我可以尝试测试它,但我的问题是我真的应该关心测试,因为它是方法在一个不属于我的包中。 – Mandar
这取决于你信任包的提供者多少,以及如果在生产中发现问题有多少风险。您的工作是建议是否对其进行测试,以及向谁付费进行测试。 –