单元测试REST服务

时间:2012-11-05 13:32:09

标签: java unit-testing rest jetty

我有一个基于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框架吗? 建议?

1 个答案:

答案 0 :(得分:0)

这是一个集成测试,无论您的应用是否与Web服务模拟或真正的第三方Web服务进行通信。单元测试是指您单独测试类时的情况。

如果您想模拟外部网络服务,您需要建立可配置的第三方应用程序的链接,并为集成测试提供单独的配置。 对于webservice模拟,您可以使用几个可用的模拟框架之一: https://sourceforge.net/projects/soaprest-mocker

相关问题