i trying test restful service using jersey test framework , have following code in place.
import java.io.unsupportedencodingexception; import java.net.urisyntaxexception; import java.net.urlencoder; import javax.json.jsonexception; import org.junit.test; import com.sun.jersey.api.client.webresource; import com.sun.jersey.test.framework.*; import com.sun.jersey.test.framework.appdescriptor; import com.sun.jersey.test.framework.jerseytest; import com.sun.jersey.test.framework.webappdescriptor; public class makesuretest extends jerseytest{ @override protected appdescriptor configure() { return new webappdescriptor.builder().build(); } @test public void testuserfetchessuccess() throws jsonexception, urisyntaxexception { webresource webresource = client().resource("http://localhost:8080"); string encodedparam = null; try { encodedparam = urlencoder.encode("customertransactions/retrievetransactions/2015/04/25", "utf-8"); } catch (unsupportedencodingexception e) { // todo auto-generated catch block e.printstacktrace(); } viglinkcomission viglinkcomission = webresource.path(encodedparam) .get(mycomission.class); } /* @test(expected = uniforminterfaceexception.class) public void testusernotfound() { webresource webresource = client().resource("http://localhost:8080/"); jsonobject json = webresource.path("/rest-test-tutorial/user/id/666") .get(jsonobject.class); } */ }
i have following maven dependencies.
<project xmlns="http://maven.apache.org/pom/4.0.0" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:schemalocation="http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelversion>4.0.0</modelversion> <groupid>com.mycompany</groupid> <artifactid>mytracker</artifactid> <version>0.0.1-snapshot</version> <packaging>jar</packaging> <name>mytracker</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceencoding>utf-8</project.build.sourceencoding> <maven.compiler.source>1.7</maven.compiler.source> <maven.compiler.target>1.7</maven.compiler.target> </properties> <dependencies> <dependency> <groupid>junit</groupid> <artifactid>junit</artifactid> <version>4.11</version> </dependency> <dependency> <groupid>com.yammer.dropwizard</groupid> <artifactid>dropwizard-core</artifactid> <version>0.6.2</version> </dependency> <dependency> <groupid>net.vz.mongodb.jackson</groupid> <artifactid>mongo-jackson-mapper</artifactid> <version>1.4.2</version> </dependency> <dependency> <groupid>org.jongo</groupid> <artifactid>jongo</artifactid> <version>1.1</version> </dependency> <dependency> <groupid>org.joda</groupid> <artifactid>joda-money</artifactid> <version>0.10.0</version> </dependency> <dependency> <groupid>javax</groupid> <artifactid>javaee-api</artifactid> <version>7.0</version> </dependency> <dependency> <groupid>com.sun.jersey.jersey-test-framework</groupid> <artifactid>jersey-test-framework-core</artifactid> <version>1.19</version> <scope>test</scope> </dependency> <dependency> <groupid>com.sun.jersey.jersey-test-framework</groupid> <artifactid>jersey-test-framework-external</artifactid> <version>1.19</version> </dependency> <dependency> <groupid>org.jboss.resteasy</groupid> <artifactid>resteasy-client</artifactid> <version>3.0.2.final</version> </dependency> <dependency> <groupid>org.jboss.resteasy</groupid> <artifactid>jaxrs-api</artifactid> <version>3.0.2.final</version> </dependency> <dependency> <groupid>org.jboss.resteasy</groupid> <artifactid>resteasy-jaxrs</artifactid> <version>3.0.2.final</version> </dependency> <dependency> <groupid>com.fasterxml.jackson.jaxrs</groupid> <artifactid>jackson-jaxrs-json-provider</artifactid> <version>2.1.4</version> </dependency> <dependency> <groupid>com.fasterxml.jackson.module</groupid> <artifactid>jackson-module-jaxb-annotations</artifactid> <version>2.1.4</version> </dependency> <dependency> <groupid>com.sun.jersey</groupid> <artifactid>jersey-bundle</artifactid> <version>1.19</version> </dependency> <dependency> <groupid>com.sun.jersey</groupid> <artifactid>jersey-client</artifactid> <version>1.19</version> </dependency> <dependency> <groupid>com.sun.jersey.jersey-test-framework</groupid> <artifactid>jersey-test-framework-http</artifactid> <version>1.19</version> </dependency> <dependency> <groupid>com.sun.jersey.jersey-test-framework</groupid> <artifactid>jersey-test-framework-grizzly2</artifactid> <version>1.19</version> </dependency> <dependency> <groupid>com.sun.jersey</groupid> <artifactid>jersey-server</artifactid> <version>1.17.1</version> </dependency> <dependency> <groupid>com.sun.jersey</groupid> <artifactid>jersey-grizzly2</artifactid> <version>1.19</version> </dependency> <dependency> <groupid>com.sun.jersey</groupid> <artifactid>jersey-core</artifactid> <version>1.19</version> </dependency> <dependency> <groupid>com.sun.jersey</groupid> <artifactid>jersey-servlet</artifactid> <version>1.17.1</version> </dependency> <dependency> <groupid>com.sun.jersey.test.framework</groupid> <artifactid>jersey-test-framework</artifactid> <version>1.0.3.1</version> </dependency> </dependencies> </project>
however when maven clean install in eclipse see following compilation error not shown in eclipse ide way , can let me know why see error in maven build? still missing maven dependency list let me use jersey test framework ?
[error] failed execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project mytracker: compilation failure: compilation failure: [error] /home/general/workspace/mytracker/src/main/java/com/mycompany/mytracker/test/mytest.java:[12,36] error: cannot find symbol [error] package com.sun.jersey.test.framework [error] /home/general/workspace/mytracker/src/main/java/com/mycompany/mytracker/test/mytest.java:[14,36] error: cannot find symbol [error] package com.sun.jersey.test.framework [error] /home/general/workspace/mytracker/src/main/java/com/mycompany/mytracker/test/mytest.java:[20,11] error: cannot find symbol [error] class mytest [error] /home/general/workspace/mytracker/src/main/java/com/mycompany/mytracker/test/mytest.java:[21,29] error: package webappdescriptor not exist [error] /home/general/workspace/mytracker/src/main/java/com/mycompany/mytracker/test/mytest.java:[19,1] error: method not override or implement method supertype [error] /home/general/workspace/mytracker/src/main/java/com/mycompany/mytracker/test/mytest.java:[29,28] error: cannot find symbol
i suspect maven project not have correct directory structure.
the class in question (makesuretest
) should under src/test/java
directory, under appropriate package structure.
try organizing classes way , issue mvn clean compile
.