Web サービス API へのアダプターを作成しています。アダプターはファイルを Web サービスと同期します。私がテストしたいことの 1 つは、アダプターの同期中に 1 つの同期が失敗した場合でも、次の同期ですべての正しいファイルを取得できることです。
私の質問は、実際の 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 への 3 回目の呼び出しが例外で失敗することをどのようにシミュレートできますか?
モックを介してこれを達成できることは理解していますが、残りの getFile 呼び出しで Web サービスから実際のデータを返す必要がありますか? これは、モックを使用して達成できるものですか? または、独自のモッククラスを作成する必要がありますか?