Java 无HTTP服务器的Jersey单元测试

Java 无HTTP服务器的Jersey单元测试,java,testing,jersey,Java,Testing,Jersey,我想设置一个非常轻量级的jersey单元测试。我的Web服务生成JSON结果,我希望在不使用HTTP服务器的情况下直接验证该结果。不使用像Grizzly HTTP这样的HTTP服务器就可以创建轻量级jsersey测试吗?看看。您可以用一种简单的方法为web服务创建测试。如果您确实需要严格的单元测试,您应该只创建资源类的一个实例,模拟任何依赖项并执行一些断言。显示示例代码。不确定您使用的Jersey版本,但请查看Jersey测试框架。内存中有一个容器,它不涉及任何网络连接。这是一份文件 您

我想设置一个非常轻量级的jersey单元测试。我的Web服务生成JSON结果,我希望在不使用HTTP服务器的情况下直接验证该结果。不使用像Grizzly HTTP这样的HTTP服务器就可以创建轻量级jsersey测试吗?

看看。您可以用一种简单的方法为web服务创建测试。如果您确实需要严格的单元测试,您应该只创建资源类的一个实例,模拟任何依赖项并执行一些断言。显示示例代码。

不确定您使用的Jersey版本,但请查看Jersey测试框架。内存中有一个容器,它不涉及任何网络连接。这是一份文件

您可以在项目源代码测试中看到一些不同的示例

依赖关系

  • 泽西2.x

    <dependency>
        <groupId>org.glassfish.jersey.test-framework.providers</groupId>
        <artifactId>jersey-test-framework-provider-inmemory</artifactId>
        <version>${jersey2.version}</version>
    </dependency>
    
    
    org.glassfish.jersey.test-framework.providers
    jersey测试框架提供程序inmemory
    ${jersey2.version}
    
  • 泽西1.x

    <dependency>
        <groupId>com.sun.jersey.jersey-test-framework</groupId>
        <artifactId>jersey-test-framework-inmemory</artifactId>
        <version>${jersey1.version}</version>
    </dependency>
    
    
    com.sun.jersey.jersey-test-framework
    内存中的jersey测试框架
    ${jersey1.version}
    
唯一不好的一面是,如果您对某些特定的Servlet功能有任何依赖,那么您可能无法在这里获得它