如何进行单位测试球衣webservice

时间:2015-08-14 08:44:39

标签: web-services unit-testing jersey-2.0

Actully我正试图用泽西测试框架来测试我的Jersey网络服务。我使用的Web服务器是Websphere 7和java版本6.这是我的项目要求我无法升级java版本。

我的问题是如何为我的网络服务构建单元测试。我想在WebSphere上测试它们,但我不确定如何为junit等单元测试设置环境。

更具体地说,我只需要从测试类中调用一个URL并检查响应。但是如何从websphere上的测试类调用URL我没有得到它的方向。

1 个答案:

答案 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));
    }
}

您应该访问提供的链接以了解更多信息并查看更多示例。