的測試響應我有一個頁面,該頁面返回StreamResponse
(JSON):掛毯5:
StreamResponse onActivate() { .... }
服務器支持POST/GET/PUT /刪除與該頁面的參數要求。
我想爲這個請求寫一個測試(junit)並聲明結果。
我怎麼能做到這一點?
的測試響應我有一個頁面,該頁面返回StreamResponse
(JSON):掛毯5:
StreamResponse onActivate() { .... }
服務器支持POST/GET/PUT /刪除與該頁面的參數要求。
我想爲這個請求寫一個測試(junit)並聲明結果。
我怎麼能做到這一點?
對於預掛毯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服務。
你想要測試什麼? tapestry應用程序如何處理不同的HTTP動詞?或者只是實現'onActivate()'? –
是的,我想確保我的服務器能夠正常工作,並根據某些請求更正了答案。那麼,我現在做了什麼?我運行服務器,然後調用curl到我的服務器頁面,並控制該服務器我的返回(服務器讓我一些JSON數據)。 –