2010-01-19 130 views
2

我希望能夠通過鏈接到我的應用程序來運行一組單元測試(例如,我希望能夠點擊一個鏈接並讓它運行一組jUnit測試)。問題在於GWT和jUnit似乎不是爲這個功能而設計的 - 只有在構建時才能運行測試。使用Google Web Toolkit進行jUnit測試

我希望能夠將我的測試代碼包含在我的應用程序中,例如從onModuleLoad運行一組測試。

我想只是實例化一個測試對象:

StockWatcherTest tester = new StockWatcherTest(); 
tester.testSimple(); 

,但我得到: 沒有源代碼可用的類型com.google.StockWatcher.client.StockWatcherTest;即使我專門包含模塊,也可以使用 。

有人會知道一種方法來做到這一點?我只是想能夠在瀏覽器中顯示測試結果。

回答

1

如果您嘗試使用JUnit測試GWT中的UI元素,很不幸,您可能不會這樣做。 JUnit測試僅限於RPC和非UI客戶端測試。請參閱this thread以瞭解有關GWT jUnit測試可以做什麼和不可以做什麼的很好的討論。

如果您不是試圖測試UI元素,而是嘗試將RPC代碼或客戶端邏輯注入測試值(因此爲什麼您希望能夠單擊某個鏈接並運行一組JUnit測試),那麼你應該遵循testearly.com的以下指南:Testing GWT with JUnit。簡而言之,您應該確保您測試的方法不包含任何UI元素,並且如果您測試的方法本質上是異步的,則必須添加一個計時器。

在2.0中,增加了HTMLUnit。您可能希望使用此功能,而不是在每次要測試時啓動瀏覽器。