0

我的代码中有一个 ProxyServlet (org.mitre.dsmiley.httpproxy),它执行一些操作并将某些以 */xyz 结尾的 url 转发到不同的应用程序。我有涵盖我的应用程序的集成测试(使用 JerseyTest 框架)并希望使集成测试通过代理 servlet。

目前我的测试用例部署配置如下:

ServletDeploymentContext.forServlet(new ServletContainer(internalConfigureResourceConfig(resourceConfig))).build()

现在,要测试我的代理 servlet,如果我将配置更改如下,

ServletDeploymentContext.forServlet(MyProxyServlet.class).build()

我无法在上面添加 url-pattern servlet-mapping,并且正在为所有 url 调用 proxy-servlet。有人可以告诉我如何为

ServletDeploymentContext.forServlet

我检查了所有方法但无法这样做

4

1 回答 1

0

我已经明白我错在哪里了。当我添加以下语句时, ServletDeploymentContext.forServlet(MyProxyServlet.class).build() 我将添加MyProxyServlet为唯一的“默认”servlet,因此即使我添加 servletPath() 作为 url 映射它也不起作用,因为这是唯一存在的 servlet。因此,即使不满足映射条件,每个请求也会发送到 servlet。当我使用 servletPath 添加另一个 servlet 时,/*所有其他请求都转到其他 servlet 并且所需的请求来到我的MyProxyServlet

于 2021-06-01T04:49:29.497 回答