使用aquillian测试jax-rs - 我需要一个servlet吗?

时间:2014-12-09 00:20:04

标签: ejb jax-rs resteasy jboss-arquillian

我正在使用aquillian和wildfly embeded容器测试我的jax-rs服务。在此设置中,我试图了解服务器如何处理我的Web服务。为了进行设置,我在测试中进行了以下部署:

@Deployment
    public static WebArchive create() {
        return ShrinkWrap.create(WebArchive.class, "rest-service.war")
                .addClasses(ProfileService.class,
                        Profile.class); // classes and other resources into the war
    }

这样战争就会被部署并在可嵌入的容器中运行。但是,我的测试无法在ProfileService中映射的任何网址上找到服务。是因为我的战争缺少一个servlet?具体来说,javax.ws.rs.core.Application实例?或者我误解了EJB容器如何暴露jax-rs服务。

1 个答案:

答案 0 :(得分:2)

这是因为你缺少一个扩展Application的类,但是你不需要将它注册为servlet。只要注释@ApplicationPath它就会被容器拾取。