Tapestry 5:页面测试响应

时间:2017-05-07 12:23:08

标签: junit tapestry

我有一个页面,该页面返回StreamResponse(json):

StreamResponse onActivate() { .... }

服务器支持带有该页面参数的POST / GET / PUT / DELETE请求。

我想为此请求编写测试(junit)并断言结果。

我怎么能做到?

1 个答案:

答案 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服务。