我可以从gwt测试用例获取servlet日志记录吗?

时间:2015-01-16 20:49:05

标签: gwt gwt2 resty-gwt

我一直在使用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获取调试信息?

1 个答案:

答案 0 :(得分:0)

我的错误当然。 .gwt.xml文件应该包含所有其他服务的glob路径,因此在我的情况下它需要/ rest / *。一旦我这样做,其余服务就可用于我的单元测试。另外我忘记了默认情况下servlet没有启动,除非你给它选择加载默认值,但我不知道如果没有使用web.xml的测试框架,这是怎么回事。我对解决方案感到满意,它使得测试Mock'd休息客户端变得非常简单。