1

背景:

根据这个问题http://java.net/jira/browse/JERSEY-623, InMemoryTestContainer 将无法支持具有可注入构造函数的资源。因此,如果您在资源类中注入了 HttpServletRequest,您将需要其他测试容器,例如 grizzly。

我的情况:

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

@Context HttpServletRequest request;

我的测试类看起来像:

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

问题:

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

4

1 回答 1

1

我自己不必这样做,但这个要点可能会有所帮助

相关部分是使用

new JerseyTest(new GrizzlyWebTestContainerFactory())

并包括

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

pom.xml.

于 2013-01-16T14:58:06.683 回答