0

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

4

1 回答 1

0

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

于 2015-01-18T20:43:43.140 回答