我一直在使用GwtTestCase,我正在尝试测试一个简单的RestyGwt客户端API。我已将servlet添加到我的gwt.xml类中,但无法从servlet获取任何日志记录。似乎没有创建servlet。
这是我尝试从中获取某些信息的简单servlet,包括抛出运行时异常。
public class JerseyTestServlet extends ServletContainer {
{
System.err.println("RUNNING JERESEY TEST SERVLET");
}
private static final long serialVersionUID = -7518118461257020639L;
public JerseyTestServlet() {
super(new RestApplication());
System.out.println("RUNNING JERESEY TEST SERVLET");
throw new RuntimeException("FOOO");
}
}
该类与servlet的类名和包匹配。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.5.1//EN" "http://google-web-toolkit.googlecode.com/svn/tags/2.5.1/distro-source/core/src/gwt-module.dtd">
<module rename-to='simulator'>
<inherits name="com.testing.NgProductionClient" />
<servlet path='/rest' class='com.testing.JerseyTestServlet'/>
</module>
我希望在启动时获得有关servlet的某些调试信息,以便我可以解决问题的路径问题。是否可以从GwtTestCase中的servlet获取调试信息?
答案 0 :(得分:0)
我的错误当然。 .gwt.xml文件应该包含所有其他服务的glob路径,因此在我的情况下它需要/ rest / *。一旦我这样做,其余服务就可用于我的单元测试。另外我忘记了默认情况下servlet没有启动,除非你给它选择加载默认值,但我不知道如果没有使用web.xml的测试框架,这是怎么回事。我对解决方案感到满意,它使得测试Mock'd休息客户端变得非常简单。