5

我正在尝试存根MockServletConfigMockServletContext. 在我的 servletinit()方法中,servlet 像这样获取 realPath:

String realPath = servletContext.getRealPath(fileSeperator+"WEB-INF");

对于我的测试用例,realPath 为空。我正在尝试这样设置:

MockServletContext context = new MockServletContext();
        context.setContextPath("D:/Projects/ProjectName/webapps");
        MockServletConfig config = new MockServletConfig(context);

这里 WEB-INF 文件夹在webapps文件夹中。
我怎么了MockServletContext

4

2 回答 2

0

从 Spring 3.x 开始getRealPath,基于resourceBasePath而不是contextPath,所以只需使用适当的构造函数正确设置它MockServletContext

new MockServletContext("D:/Projects/ProjectName/webapps", null)
于 2013-10-22T14:11:04.290 回答
0

您必须file:/在路径之前添加。例如:

ServletContext context = new MockServletContext("file:/D:/Projects/ProjectName/webapps");
于 2017-01-12T16:45:20.307 回答