2017-05-07 67 views
1

的測試響應我有一個頁面,該頁面返回StreamResponse(JSON):掛毯5:

StreamResponse onActivate() { .... } 

服務器支持POST/GET/PUT /刪除與該頁面的參數要求。

我想爲這個請求寫一個測試(junit)並聲明結果。

我怎麼能做到這一點?

+0

你想要測試什麼? tapestry應用程序如何處理不同的HTTP動詞?或者只是實現'onActivate()'? –

+0

是的,我想確保我的服務器能夠正常工作,並根據某些請求更正了答案。那麼,我現在做了什麼?我運行服務器,然後調用curl到我的服務器頁面,並控制該服務器我的返回(服務器讓我一些JSON數據)。 –

回答

0

對於預掛毯5.4有一個SeleniumTestCase,你可以用它來爲您的應用程序運行的集成測試: https://tapestry.apache.org/integration-testing.html

注意,在SeleniumTestCase使用硒RC已被棄用,新的​​項目,不應該使用它。

最近的tapestry版本推薦使用Spock + Geb進行集成測試,其中一個例子可以找到here。有一個由Tapestry提交者維護的第三方項目tapestry-geb,可以幫助您爲測試設置Geb。

您也可以使用PageTester開始您的應用程序,但據我所知,PageTester本身無法使用自定義HTTP動詞,因此您需要使用其他方法發送請求,即使用相同的Spock + Geb 。

請注意,有一個Tapestry頁面響應不同的HTTP動詞並返回JSON響應並不常見。看起來你試圖實現某種REST API,在這種情況下,我建議你看看Tynamo的tapestry-resteasy

藉助tapestry-resteasy,您可以將Tapestry服務公開爲REST端點。在這種情況下,您可以使用上面提到的PageTester來測試您的端點爲普通Tapestry服務。