【问题标题】:Best API / lib to unit test Jersey Restful Web Services?对 Jersey Restful Web 服务进行单元测试的最佳 API / lib?
【发布时间】:2014-10-21 18:38:24
【问题描述】:

对基于 Jersey 的 Restful Web 服务进行单元测试的最佳库/API 是什么?像 JerseyTest 这样的一些 API 似乎已经过时(在我的 pom 中使用它们时会发生冲突),并且似乎还依赖于特定的容器,例如 Glassfish 或 Grizzly ......我正在将基于 Jersey 的 Restful Web 服务作为战争文件部署到 Tomcat 7. 有没有办法使用具有嵌入式 Web 服务器或内存解决方案的测试框架?再次感谢。

【问题讨论】:

    标签: unit-testing rest tomcat jersey jersey-2.0


    【解决方案1】:

    我在我的许多项目中都使用 rest-assured,因为它提供了一个高度专业化的 dsl 来编写你的测试,一旦你习惯了这个符号,编写测试就会很快完成.

    可以在project website 上找到各种示例,但为了快速预览 - 示例测试可能如下所示 sn-p:

    expect()
      .statusCode(200)
      .body("user.id", equalTo(1))
    .when()
    .given()
      .contentType(ContentType.JSON)
    .get("http://test/rest"); 
    

    由于 Balaji 引用了我的博客,我想补充一点,this article of mine 包含更多用于放心框架的示例,以及用于测试示例的可下载 REST 服务器。

    带有 jersey-test 的测试示例可能类似于取自 project's documentation 的示例:

    public class SimpleTest extends JerseyTest {
    
        @Path("hello")
        public static class HelloResource {
            @GET
            public String getHello() {
                return "Hello World!";
            }
        }
    
        @Override
        protected Application configure() {
            return new ResourceConfig(HelloResource.class);
        }
    
        @Test
        public void test() {
            final String hello = target("hello").request().get(String.class);
            assertEquals("Hello World!", hello);
        }
    }
    

    【讨论】:

      【解决方案2】:

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-09-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-05-10
        • 1970-01-01
        相关资源
        最近更新 更多