我想在我的测试类中启动我的应用程序来测试它。我已经为我的测试编写了一个基类,并且有一个像这样的方法:
public static void startServerIfRequired() {
if (server != null) {
return;
}
server = new Server(TEST_PORT);
ServletHolder sh = new ServletHolder(ServletContainer.class);
sh.setInitParameter("com.sun.jersey.config.property.resourceConfigClass", "com.sun.jersey.api.core.PackagesResourceConfig");
sh.setInitParameter("com.sun.jersey.config.property.packages", "org.gogo.rena.rest");
sh.setInitParameter("com.sun.jersey.api.json.POJOMappingFeature", "true");
ServletContextHandler context = new ServletContextHandler(server, "/", ServletContextHandler.SESSIONS);
context.setResourceBase("src/main/webapp");
context.setContextPath("/");
context.addServlet(sh, "/*");
server.setHandler(context);
try {
server.setStopAtShutdown(true);
server.start();
//server.join();
} catch (Exception e) {
fail("Error has occurred while starting! Error is as follows: " + e.getMessage());
}
}
我在测试包中没有任何资源。我在Spring应用程序中使用Jersey。我的休息包在gogo.rena.rest下。服务器不会抛出错误,但当我尝试获取任何URL时,我收到404错误?
编辑:当我查看日志时,它说:
...
Server - Started @20756ms
并且它还创建了我的休息类作为根资源。