我希望编写一个junit测试来验证与Servlet 3.0注释(@WebServlet
,@ServletSecurity
)相关的Tomcat 7行为。
目前我有这个测试:
@Test
public void testDoGet()
throws ServletException, LifecycleException, IOException {
Tomcat tomcat = new Tomcat();
tomcat.setPort(8080);
Context ctx = tomcat.addWebapp("/",
new File("target").getAbsolutePath());
Tomcat.addServlet(ctx, "hello", HelloServlet.class.getName());
ctx.addServletMapping("/hello", "hello");
tomcat.start();
ByteChunk chunk = new ByteChunk();
int responceCode = getUrl("http://127.0.0.1:8080/hello",chunk);
System.out.println(responceCode + ": " + chunk.toString());
tomcat.stop();
}
这个测试是有效的,但它没有尊重注解。
很明显,这个测试没有尊重HelloServlet中的注解。 但我不知道如何“注册”一个servlet,以便使用基于注解的配置。有人能给我一个提示如何构建这样的测试吗?