Hello Steve,
On 5/5/10 5:45 PM, schong wrote:
> Hi Pavel,
> I tried running
> mvn test
> -Dtest.containerFactory=com.sun.jersey.test.framework.spi.container.embedded.glassfish.EmbeddedGlassFishTestContainerFactory
> -Dcontainer.type=EmbeddedGF -DenableLogging -Djersey.test.port=9090
> -Djersey.test.host=localhost
>
> but I got the exception below. I am using using Maven 2.2.1 (r801777;
> 2009-08-06 20:16:01+0100) so I am guessing that as you pointed out, the
> -Dcontainer.type=EmbeddedGF is not being passed through.
>
> Do you know if it is possible to somehow instantiate an EmbeededGF instance
> e.g. in a JerseyTest setup method and then to execute tests against it using
> a WebResource?
>
yes, it is possible, all you need to do is override
getTestContainerFactory() method.
in your case it would be something like this:
@Override
protected TestContainerFactory getTestContainerFactory() throws
TestContainerException {
return new EmbeddedGlassFishTestContainerFactory();
}
(and add dependecy on jersey-test-framework-embedded-glassfish, if
you're using jersey 1.2 or 1.2-SNAPSHOT).
Another problem is that your application may require newer version of
glassfish than currently supported in jersey (3.0-Prelude-Embedded-b14).
We plan to upgrade support to embedded glassfish v3.0 final in jersey
1.3 release.
Regards,
Pavel
> Steve
>
>
> java.lang.NoSuchMethodError:
> com.sun.grizzly.http.embed.GrizzlyWebServer.addGrizzlyAdapter(Lcom/sun/grizzly/tcp/http11/GrizzlyAdapter;[Ljava/lang/String;)V
> at
> com.sun.jersey.test.framework.spi.container.grizzly.web.GrizzlyWebTestContainerFactory$GrizzlyWebTestContainer.instantiateGrizzlyWebServer(GrizzlyWebTestContainerFactory.java:212)
> at
> com.sun.jersey.test.framework.spi.container.grizzly.web.GrizzlyWebTestContainerFactory$GrizzlyWebTestContainer.<init>(GrizzlyWebTestContainerFactory.java:125)
> at
> com.sun.jersey.test.framework.spi.container.grizzly.web.GrizzlyWebTestContainerFactory$GrizzlyWebTestContainer.<init>(GrizzlyWebTestContainerFactory.java:82)
> at
> com.sun.jersey.test.framework.spi.container.grizzly.web.GrizzlyWebTestContainerFactory.create(GrizzlyWebTestContainerFactory.java:75)
> at
> com.sun.jersey.test.framework.JerseyTest.getContainer(JerseyTest.java:301)
> at
> com.sun.jersey.test.framework.JerseyTest.<init>(JerseyTest.java:176)
> at
> org.firstutility.lwsf.customer.registration.filter.FilterTest.<init>(FilterTest.java:29)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
> Method)
> at
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
> at
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
> at
> org.junit.runners.BlockJUnit4ClassRunner.createTest(BlockJUnit4ClassRunner.java:171)
> at
> org.junit.runners.BlockJUnit4ClassRunner$1.runReflectiveCall(BlockJUnit4ClassRunner.java:216)
> at
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
> at
> org.junit.runners.BlockJUnit4ClassRunner.methodBlock(BlockJUnit4ClassRunner.java:213)
> at
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:73)
> at
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:46)
> at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:180)
> at org.junit.runners.ParentRunner.access$000(ParentRunner.java:41)
> at org.junit.runners.ParentRunner$1.evaluate(ParentRunner.java:173)
> at
> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
> at
> org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
> at org.junit.runners.ParentRunner.run(ParentRunner.java:220)
> at
> org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:62)
> at
> org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:140)
> at
> org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:127)
> at org.apache.maven.surefire.Surefire.run(Surefire.java:177)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at
> org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:345)
> at
> org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1009)
>
>