1
我正在爲Web服務API編寫適配器。適配器與web服務器同步文件。我想測試的一件事是,如果一個同步失敗,而我的適配器正在同步,下一個同步仍然可以拿起所有正確的文件。如何模擬測試中的失敗
我的問題是如何在與真實的Web服務交互時模擬失敗?例如,如果Web服務API包含:
class WebService {
List<String> getFileNamesToSync() {
......
}
File getFile(String name) throws SomeException {
<talks to the web service API>;
}
}
我的適配器類:
class MyAdapter {
void MyFunction() {
List<String> names = webService.getFileNamesToSync();
for(String n : names) {
File file = webService.getFile(n);
.......
}
}
}
我如何可以模擬到的GetFile第三次調用應失敗例外嗎?
我知道我可以通過模擬來實現這一點,但我仍然希望我的其他調用getFile從Web服務返回實際數據?這是我能用Mock實現的嗎?或者我必須寫我自己的Mock類?
你也可以實現這個w的JUnit。 – Adrian 2012-04-18 19:43:45
這可能不是你要找的東西,但是你可以在你的for循環中通過使用計數器並拋出一個異常(如果計數器== 3(例如))來手動拋出一個異常。 – jahroy 2012-04-18 19:44:50
您可以向其發送一個無效請求來強制執行失敗生成,如不存在的文件來獲取FileNotFoundException。 – twain249 2012-04-18 19:46:27