В чем проблема с контейнером Glassfish Embedded? - PullRequest
1 голос
/ 13 октября 2010

Это мой pom.xml (часть):

[...]
<dependency>
  <groupId>com.sun.jersey</groupId>
  <artifactId>jersey-server</artifactId>
  <version>${jersey.version}</version>
</dependency>
<dependency>
  <groupId>com.sun.jersey.jersey-test-framework</groupId>
  <artifactId>jersey-test-framework-embedded-glassfish</artifactId>
  <version>${jersey.version}</version>
  <scope>test</scope>
</dependency>
[...]

Это тест:

public class FooTest extends JerseyTest {
  public FooTest() throws Exception {
    super("com.XXX");
  }
  @Before
  public void setUp() throws Exception {
  }
  @Test
  public void shouldWork() throws Exception {
  }
}

Вот что я получаю в журнале:

com.sun.jersey.test.framework.spi.container.TestContainerException: org.glassfish.embed.EmbeddedException: You must start the server before calling this API method: EmbeddedDeployer.EmbeddedDeployer Constructor.
at com.sun.jersey.test.framework.spi.container.embedded.glassfish.EmbeddedGlassFishTestContainerFactory$EmbeddedGlassFishTestContainer.stop(EmbeddedGlassFishTestContainerFactory.java:154)
at com.sun.jersey.test.framework.JerseyTest.tearDown(JerseyTest.java:312)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[...]

Когда я удаляю метод setUp() из класса, все работает нормально. Что здесь не так?

Ответы [ 2 ]

2 голосов
/ 13 октября 2010

Попробуйте super.setUp(); в настройке.

Когда вы удалите его, он вызовет его унаследованную версию super.что хорошо

Но когда вы добавляете свой собственный набор настроек, вы переопределяете версию super's.

1 голос
/ 13 октября 2010

Вы непреднамеренно переопределяете его метод setUp(). Попробуйте изменить его имя на другое, почему бы не сказать это, before().

Исходный метод setUp() вызывает тестовый контейнер, вызывая TestContainer.start(). В вашем случае он не смог этого сделать, потому что вы переопределили метод и никогда не вызывали super.setUp() Поэтому его жалуются, что, You must start the server.... so and so.

...