【问题标题】:Play: Automating test data setup播放:自动化测试数据设置
【发布时间】:2019-01-31 09:25:55
【问题描述】:

我有一个已达到 beta/用户测试的 playframework 项目。 对于此测试,我们要求测试数据存在于环境中 我正在寻找一种通过脚本自动执行此操作的方法。 最好的方法是通过调用 API,根据项目中的模型传递正确形状的数据(因此取决于项目而不是外部)。 有没有我可以利用的现有 SBT 插件来创建适当的 JSON 并将其传递给 API 以设置环境

【问题讨论】:

    标签: testing playframework automation sbt


    【解决方案1】:

    为什么你需要一个插件呢?我认为您想要做的是拥有一组 Json,然后调用端点并查看后端的响应是什么。如果基于具有 Json 的调用进行“设置”,您可以在测试中使用 FakeRequest

     val application = newGuiceApplicationBuilder().build()
     val response = route(application, FakeRequest(POST, "/end-point")).get 
     contentAsString(response) must include("where is Json")
    

    在您的测试中,您还可以测试来自后端的响应以及您提供给它的 Json:

    1. 根据您在后端使用的案例类,使用Writes 创建一组 Json。您也可以故意创建一个无效的 Json,例如错过一个字段;或结构无效。

    2. 使用表驱动测试并发送 FakeRequest 以及包含您的 Json 的正文/标题;然后根据预期结果检查它。

    我在路上,回家后,我可以在这里写一个示例代码。

    【讨论】:

    • 我不想使用测试,因为它们是单独运行的,我所做的是创建第二个 Main 然后使用 Sbt runMain。但这在部署方面造成了混乱(它部署的是 Main 而不是 play 项目)
    猜你喜欢
    • 1970-01-01
    • 2010-10-10
    • 2012-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-27
    相关资源
    最近更新 更多