Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法注册ServletRunner在web.xml中没有映射的servlet?_Java_Unit Testing_Servlets_Http Unit - Fatal编程技术网

Java 无法注册ServletRunner在web.xml中没有映射的servlet?

Java 无法注册ServletRunner在web.xml中没有映射的servlet?,java,unit-testing,servlets,http-unit,Java,Unit Testing,Servlets,Http Unit,我正在使用com.meterware.servletunit.ServletRunner初始化我的一个servlet。 我尝试使用下一种方法: ServletRunner.registerServlet(String resourceName, String servletClassName) 据我所知,resourceName是servlet映射,比如说/myservlet/*等等 但问题是这个servlet在web.xml文件中没有映射,应该在启动时初始化。我需要在JUnit中初始化这个s

我正在使用com.meterware.servletunit.ServletRunner初始化我的一个servlet。 我尝试使用下一种方法:

ServletRunner.registerServlet(String resourceName, String servletClassName)
据我所知,resourceName是servlet映射,比如说/myservlet/*等等


但问题是这个servlet在web.xml文件中没有映射,应该在启动时初始化。我需要在JUnit中初始化这个servlet。我该怎么做呢?

您可以简单地执行以下操作,它应该可以正常工作 HelloAppEngine是我的servlet类

@Test
public void doGetWritesResponse() throws Exception {
    ServletRunner sr = new ServletRunner();
    sr.registerServlet("/hello", HelloAppEngine.class.getName());
    WebClient wc = sr.newClient();
    WebResponse response = wc.getResponse(http://localhost/hello");
    assertEquals("content type", "text/plain", response.getContentType());
    assertEquals("response text is ", "Hello app Engine", response.getText());
}
HelloAppEngine的源代码如下

    @WebServlet(name = "HelloAppEngine", value = "/hello")
    public class HelloAppEngine extends HttpServlet {    
    @Override
     public void doGet(HttpServletRequest request, HttpServletResponse 
     response) throws IOException {
        response.setContentType("text/plain");
        response.getWriter().print("Hello app Engine");
     }
    }

你可能想提醒Russell Gold你的问题。