使用Jetty servlet容器测试Jersey端点没有会话失败

时间:2014-05-23 18:28:51

标签: java servlets junit jersey jetty

我在泽西使用嵌入式Jetty。根据会话,我有一些authfilter用于某些资源。

当我尝试测试我的应用程序时,JerseyTest加载我认为只有没有servlet的Jetty,因为注入了@Context     HttpServletRequest httpRequest;一片空白。

任何想法如何改变可能在这里:

@Override
protected TestContainerFactory getTestContainerFactory() {
JettyTestContainerFactory j= new JettyTestContainerFactory();
return j;
}

@Override
protected Application configure() {
ResourceConfig r = new ResourceConfig();
r.packages("com.server.rest.jersey");
return r;
}

这里吗?

其他解决方案是在没有过滤器的情况下在测试中注册所有内容,但这不是一个好的集成测试..

另一个选择是使用泽西外部提供商,然后启动我的正常配置。这使得与生产代码的测试紧密耦合。

1 个答案:

答案 0 :(得分:0)

对我目前的知识唯一可以做的是创建一个启动Jetty服务器的类,让Jersey配置外部提供程序,并在集成测试结束时关闭服务器。