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 に答える