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
這取決於你信任包的提供者多少,以及如果在生產中發現問題有多少風險。您的工作是建議是否對其進行測試,以及向誰付費進行測試。 –