Actully我正试图用泽西测试框架来测试我的Jersey网络服务。我使用的Web服务器是Websphere 7和java版本6.这是我的项目要求我无法升级java版本。
我的问题是如何为我的网络服务构建单元测试。我想在WebSphere上测试它们,但我不确定如何为junit等单元测试设置环境。
更具体地说,我只需要从测试类中调用一个URL并检查响应。但是如何从websphere上的测试类调用URL我没有得到它的方向。
答案 0 :(得分:0)
查看Jersey Test Framework的文档。
您需要的第一件事是Supported Containers dependencies之一。其中任何一个都会引入核心框架,例如。
<dependency>
<groupId>org.glassfish.jersey.test-framework.providers</groupId>
<artifactId>jersey-test-framework-provider-grizzly2</artifactId>
<version>2.19</version>
<scope>test</scope>
</dependency>
然后你需要一个扩展JerseyTest
的测试类。您可以覆盖Application configure()
以提供ResourceConfig
以及任何其他提供商或媒体资源。例如
@Path("/test")
public class TestResource {
@GET
public String get() { return "hello"; }
}
public class TestResourceTest extends JerseyTest {
@Override
public Application configure() {
ResourceConfig config = new ResourceConfig();
config.register(TestResource.class);
}
@Test
public void doTest() {
Response response = target("test").request().get();
assertEquals(200, response.getStatus());
assertEquals("hello", response.readEntity(String.class));
}
}
您应该访问提供的链接以了解更多信息并查看更多示例。