我正在为 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 的第三次调用应该失败并出现异常?
我知道我可以通过 Mock 来实现这一点,但我仍然希望我对 getFile 的其余调用从 Web 服务返回真实数据?这是我可以使用 Mock 实现的吗?或者我必须编写自己的 Mock 类?