我有一個GWT應用程序,在服務器端有很少的servlet。我想測試這些servlet(無需使用Selenium或任何其他基於Web的框架進行GUI測試)。換句話說,我希望測試能夠模擬GWT的客戶端。如何爲GWT servlet編寫測試?
與測試servlet的自然挑戰是:
- 啓動Web服務器,
- 模擬客戶端,
- 的Servlet立即返回,傳遞價值的AsyncCallback對象。
到目前爲止,我已經能夠找出(儘管這仍是未測試),即:通過擴展GWTTestCase 3.我已經找到了谷歌文檔有關asynchronous testing 1.我可以啓動容器,所以有可能等待作爲異步回調。谷歌文檔也提到這一點:
服務器端測試
上述旨在協助測試客戶端代碼的測試。測試用例封裝器GWTTestCase將啓動開發模式會話或Web瀏覽器來測試生成的JavaScript。另一方面,服務器端代碼在JVM中作爲原生Java運行,而不會被轉換爲JavaScript,所以不需要使用GWTTestCase作爲測試的基類來運行服務器端代碼的測試。相反,在爲應用程序的服務器端代碼編寫測試時,直接使用JUnit的TestCase和其他相關類。也就是說,您可能希望GWTTestCase和TestCase覆蓋將在客戶端和服務器上使用的代碼。
但是沒有實例或更深入的解釋如何實現這一點。
我還沒有想出如何模擬客戶端......任何想法我該怎麼做?
或者,如果這不是這樣做的話,還有其他方法嗎?我寧願使用本地GWT類,而不是一些第三方框架來測試servlet。
謝謝!