我是单位测试Rest Webservices的新手。 在我们的项目中,我正在尝试使用Jersey测试框架为Rest Services编写一个简单的UT。我已将Jersey(1.18.1)升级到最新版本(2.3.15),取代以下罐子并使用最新版本的Jersey Test Frameworks。
我能够处理除此之外的几乎所有依赖项。当我尝试运行测试用例时,我遇到以下异常:
有人能告诉我我缺少的东西吗?
谢谢!
答案 0 :(得分:0)
我强烈建议使用Maven。您需要添加的是
<dependency>
<groupId>org.glassfish.jersey.test-framework.providers</groupId>
<artifactId>jersey-test-framework-provider-grizzly2</artifactId>
<version>2.3.1</version>
</dependency>
它将拉入所有必需的罐子
public class SimpleJerseyTest extends JerseyTest {
@Path("/hello")
public static class HelloResource {
@GET
public String getHello() {
return "Hello World";
}
}
@Override
public Application configure() {
return new ResourceConfig(HelloResource.class);
}
@Test
public void test() {
String response = target("hello").request().get(String.class);
Assert.assertEquals("Hello World", response);
}
}
顺便说一句,2.3.1不是最新版本,泽西岛刚刚发布2.16。依赖关系将与您在上面看到的有所不同。
一些资源:
以上仅用于基本支持。如果您需要JSON支持,则需要更多jar。或者使用Maven
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-json-jackson</artifactId>
<version>${jersey.version}</version>
</dependency>
对于多部件支持,您还需要更多的罐子。使用Maven
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-multipart</artifactId>
<version>${jersey.version}</version>
</dependency>
这两种依赖需要的不仅仅是一个罐子。以下是上述三个Maven依赖项组合的所有jar的图像,如果需要手动获取它们。虽然我强烈建议使用/学习Maven。它会让生活变得更加轻松。