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