我選擇了Jersey Test Framework來實現REST服務的單元測試用例。但是當我運行測試時,我遇到了以下問題。無法在Jersey測試框架中找到內容類型爲application/json的郵件正文閱讀器
注:我甚至將resteasy-jackson-provider
添加到pom文件,但沒有幫助。
這裏是.pom
文件相關
<!-- jersey security dependency -->
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet-core</artifactId>
<version>${jersey.version}</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-multipart</artifactId>
<version>${jersey.version}</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-json-jackson</artifactId>
<version>${jersey.version}</version>
</dependency>
<!-- jersey test framework dependency -->
<dependency>
<groupId>org.glassfish.jersey.test-framework.providers</groupId>
<artifactId>jersey-test-framework-provider-jetty</artifactId>
<version>${jersey.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jackson-provider</artifactId>
<version>2.3.4.Final</version>
</dependency>
<!--junit Dependency-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
MockServices.Java
@Path("/hello")
public class MockServices {
@GET
@Produces(MediaType.APPLICATION_JSON)
@Path("/world")
public DateVO getHello() {
DateVO j=new DateVO();
j.setActive(true);
return j;
}
}
MockServicesTest.Java
public class MockServicesTest extends JerseyTest {
@Override
protected Application configure() {
return new ResourceConfig(MockServices.class);
}
@Test
public void test() {
Response hello = target("/hello/world").request().get();
System.out.println(hello.readEntity(String.class));//throw an above exception
}
}
請讓我知道我該如何克服這個問題。
謝謝,但沒有奏效。 – gihan