我尝试使用jersey-test-framework-provider-grizzly2在Jersey REST Servlet上创建JerseyTest。
测试请求在grizzly中更正来自servlet的内容。
但是当启动servlet时,会有一个HTTPBasicAuth。 Auth是使用@WebFilter(" / *")org.apache.shiro.web.servlet.ShiroFilter完成的。
在JerseyTest期间,没有要求的Auth。 所以我的结论是@WebFilter注释无法识别。 JerseyTest只测试应用程序中的资源吗? 如何识别WebFilters?
感谢。
答案 0 :(得分:0)
我想我可以自己回答; - )
它是泽西岛测试框架,没有" FullAppWithJerseyTest"框架。
我现在实现了像ServletJerseyTest这样的东西,扩展了JerseyTest。 它使用org.glassfish.jersey.test.external.ExternalTestContainerFactory.class和setUp()包含启动servlet容器并安装最新构建的WAR。
测试针对此容器运行。在tearDown()中,容器停止并安装WAR将被删除。
嵌入式Tomcat具有自行查找免费TCP端口的API,并且TestProperties.CONTAINER_PORT设置为选择端口。
现在测试按预期运行......