【发布时间】:2014-07-13 05:19:02
【问题描述】:
我正在使用带有 Jersey 的嵌入式 Jetty。我有一些资源的身份验证过滤器,基于会话。
当我尝试测试我的应用程序时,JerseyTest 加载我认为只有 Jetty 没有 servlet,因为注入的 @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;
}
这里?
其他解决方案是在没有过滤器的情况下注册测试中的所有内容,但这不是一个好的集成测试..
另一种选择是使用 jersey 外部提供程序,然后启动我的正常配置。这使得测试与生产代码的耦合非常紧密。
【问题讨论】:
标签: java servlets junit jersey jetty