2015-01-16 28 views
0

我一直在使用GwtTestCase一段時間,並試圖測試一個簡單的RestyGwt客戶端API。我已經將servlet添加到我的gwt.xml類中,但無法從servlet獲取任何日誌記錄。看起來這個servlet沒有被創建。我可以從gwt測試用例中獲得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

我的錯誤當然。 .gwt.xml文件應該包含所有其他服務的glob路徑,所以在我的情況下它需要/ rest/*。一旦我這樣做了,剩下的服務就爲我的單元測試工作。另外,我忘了servlet不會默認啓動,除非您給它提供默認加載選項,但我不知道如果沒有使用web.xml的測試框架,這是如何實現的。我對解決方案感到滿意,並且它使得測試一個Mock'd休息客戶端變得非常簡單。

相關問題