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



我已经使用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 获取调试信息?

当然是

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

最新更新