1

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 サービスから実際のデータを返す必要がありますか? これは、モックを使用して達成できるものですか? または、独自のモッククラスを作成する必要がありますか?

4

1 に答える 1

1

Mockito を使用するAnswerと、呼び出しのカウンターを保持し、ほとんどの呼び出しで実際のクラスを呼び出すクラスを作成できますが、カウンターがマジック ナンバーに達すると、例外がスローされます。

于 2012-04-18T19:53:00.847 に答える