【问题标题】:Protractor E2E Test Seed DatabaseProtractor E2E 测试种子数据库
【发布时间】:2015-04-11 17:44:34
【问题描述】:

我还没有找到这样做的好方法,所以希望有人有一些想法。在运行 E2E Protractor 测试之前,有什么方法可以使用测试数据为数据库播种?

人们会这样做还是只是模拟后端?对我来说模拟后端不是一种选择,因此希望了解如何为数据库播种的想法。有一些使用节点的解决方案,但没有定论。

对于我的案例,E2E 测试的重点是进入数据库级别

谢谢

【问题讨论】:

    标签: angularjs unit-testing integration-testing protractor


    【解决方案1】:

    在 NodeJs 环境中,您可以从 Protractor 中connect to the database directly,但我不会走这条路。您必须更新您的 SQL 设置脚本以及对后端的更改。

    还有其他方法:

    1. 使用您现有的 REST 外观来填充您的数据库 - 注册用户、与其他用户连接等。如果您使用唯一数据设置每个测试,您将能够以这种方式同时运行它们。
    2. 向您的测试环境公开一个特殊的 REST 点,该点会在测试之间为您完成所有清除/设置。

    您可以为此触发 REST 调用 directly from the Protractor environmentuse your browser

    【讨论】:

    • 这也是我最初的想法是调用一个宁静的服务来填充数据库。我遇到的另一个选择是 Grunt 作为任务运行程序,并在测试开始之前让它为数据库播种。对此有什么想法吗?
    • 这样,您将限制自己仅在测试开始时重置/播种数据库,如果您将测试彼此分开,这可能是一个问题。但是,如果结合上面答案中的第 1 点,它可能是在开始之前清除所有内容的好方法。就个人而言,我更愿意为测试设置数据及其执行。这种方式更容易管理。此外,您必须能够直接从 grunt 访问数据库,这在某些环境中可能是一个问题。
    • 如果您在一个工具中寻找所有与 e2e 相关的任务(包括数据预播),您可能会对 endly 感兴趣:github.com/viant/endly
    猜你喜欢
    • 1970-01-01
    • 2015-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-20
    • 2016-03-04
    • 1970-01-01
    相关资源
    最近更新 更多