我有一个页面,该页面返回StreamResponse
(json):
StreamResponse onActivate() { .... }
服务器支持带有该页面参数的POST / GET / PUT / DELETE请求。
我想为此请求编写测试(junit)并断言结果。
我怎么能做到?
答案 0 :(得分:0)
对于预Tapestry 5.4,您可以使用SeleniumTestCase
为您的应用运行集成测试:
https://tapestry.apache.org/integration-testing.html
请注意,SeleniumTestCase
中使用的Selenium 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服务。