我有一个基于spark-framework的REST服务。看起来像这样(简单):
public void init() {
get(new Route("spark/favorites") {
@Override
public Object handle(Request request, Response response) {
ExternalService exS= new ExternalService();
ArrayList<String> favs= exS.getFavorites();
Gson gson = getGson();
return gson.toJson(favs);
}
});
}
现在我想为我的服务编写一些测试,看看我的get / post / put / delete是否符合我的要求。 因此,我在测试期间将它部署在嵌入式Jetty上。
我现在面临的问题是我的服务依赖于外部REST服务。我想模拟对那些的所有调用(进行快速单元测试)。但我不知道如何模拟正在运行的服务。
这甚至可能吗?我应该切换到另一个REST框架吗? 建议?
答案 0 :(得分:0)
这是一个集成测试,无论您的应用是否与Web服务模拟或真正的第三方Web服务进行通信。单元测试是指您单独测试类时的情况。
如果您想模拟外部网络服务,您需要建立可配置的第三方应用程序的链接,并为集成测试提供单独的配置。 对于webservice模拟,您可以使用几个可用的模拟框架之一: https://sourceforge.net/projects/soaprest-mocker