Web services Dropwizard/Jersey-从InMemoryTestContainer切换到Grizzly

Web services Dropwizard/Jersey-从InMemoryTestContainer切换到Grizzly,web-services,jersey,grizzly,dropwizard,servlet-container,Web Services,Jersey,Grizzly,Dropwizard,Servlet Container,背景: 根据这个问题,InMemoryTestContainer将无法支持具有可注入构造函数的资源。因此,如果在资源类中注入了HttpServletRequest,则需要其他测试容器,例如grizzly 我的案例: 我使用的dropwizard在下面运行,我在我的资源类中注入了HttpServletRequest,如下所示: @Context HttpServletRequest request; 我的测试类看起来像: import com.yammer.dropwizard.testing.

背景:

根据这个问题,InMemoryTestContainer将无法支持具有可注入构造函数的资源。因此,如果在资源类中注入了HttpServletRequest,则需要其他测试容器,例如grizzly

我的案例:

我使用的dropwizard在下面运行,我在我的资源类中注入了HttpServletRequest,如下所示:

@Context HttpServletRequest request;
我的测试类看起来像:

import com.yammer.dropwizard.testing.ResourceTest;
public class MyResourceTest extends ResourceTest {
    // all the tests go here
}
问题:


如何将测试容器从InMemoryTestContainer切换到grizzly?

我不必自己做这件事,但是这件事

相关部分是使用

new JerseyTest(新GrizzlyWebTestContainerFactory())

以及加入

<dependency>
  <groupId>com.sun.jersey.jersey-test-framework</groupId>
  <artifactId>jersey-test-framework-grizzly2</artifactId>
  <version>1.12</version>
</dependency>

com.sun.jersey.jersey-test-framework
jersey-test-framework-grizzly2
1.12

pom.xml

中,我不必自己做这件事,而是做这件事

相关部分是使用

new JerseyTest(新GrizzlyWebTestContainerFactory())

以及加入

<dependency>
  <groupId>com.sun.jersey.jersey-test-framework</groupId>
  <artifactId>jersey-test-framework-grizzly2</artifactId>
  <version>1.12</version>
</dependency>

com.sun.jersey.jersey-test-framework
jersey-test-framework-grizzly2
1.12

pom.xml

中,gist仍然适用于旧版本的dropwizard,我们现在正在运行dropwizard 6。我试着玩GrizzlyResourceTest gist,还没有运气。是的,DW移动速度很快。但即使dropwizard 0.6.1也存在这个问题。添加jersey-test-framework-grizzly2 maven依赖项似乎会导致jersey自动选择grizzlywebtestcontainerfactory(这毕竟是默认设置),然而,DW ResourceTest构造了一个“LowLevelAppDescriptor”,它显然与WebTestContainerFactory不兼容。这对我来说基本上是胡言乱语,但我很想知道是否有可能用DropWizard infastructure(DropWizard配置太低了?)构建这样一个JerseyTest。要点仍然适用于旧版本的DropWizard,我们现在正在运行DropWizard 6。我试着玩GrizzlyResourceTest gist,还没有运气。是的,DW移动速度很快。但即使dropwizard 0.6.1也存在这个问题。添加jersey-test-framework-grizzly2 maven依赖项似乎会导致jersey自动选择grizzlywebtestcontainerfactory(这毕竟是默认设置),然而,DW ResourceTest构造了一个“LowLevelAppDescriptor”,它显然与WebTestContainerFactory不兼容。这对我来说基本上是胡言乱语,但我想知道是否有可能用DropWizard结构构建这样一个JerseyTest(DropWizard配置的级别太低?)。