【问题标题】:Cypress test data generation scripts not as part of the test suites赛普拉斯测试数据生成脚本不作为测试套件的一部分
【发布时间】:2021-02-18 23:34:48
【问题描述】:

我为我们的网站编写了几个赛普拉斯端到端测试。这些测试针对暂存环境运行。由于我们的开发团队有几个这样的暂存环境,我想确保这些测试在所有暂存环境中都是稳定的。

对于某些测试,我需要某些测试数据,所以我编写了一个 cypress 测试,创建了该测试数据。通常这个测试数据生成测试不会在我们的 CI 系统上执行。该测试位于integration 目录中的一个单独文件中,因此赛普拉斯能够找到并执行它。每个登台环境只执行一次。测试数据将保留在那里,不必一次又一次地生成。

打开 cypress GUI (cypress open) 时,我希望 cypress 忽略此测试数据生成测试,以便我可以一次简单地运行所有套件。但是,当我将此测试数据生成测试添加到ignoredTestFiles 的集合中时,我根本无法运行测试数据生成测试。

当我明确希望它执行时,您知道如何让 cypress GUI 一方面忽略我的测试数据生成测试,另一方面让它由 cypress 执行吗?

【问题讨论】:

  • 你能提供一个可重现的例子吗?
  • 该数据生成测试是否真的测试了任何东西?您是否只需要 e2e 测试的测试数据?

标签: automated-tests cypress test-data


【解决方案1】:

您可以使测试生成数据测试依赖于环境变量,并且仅在您明确希望它执行时才设置该变量。比如:

if (Cypress.env('GENERATE_TEST_DATA')) {
  // Generate your test data here
  // You could even put this if around the entire it block
  // so the test doesn't execute at all when the environment variable isn't set
}

然后当你想生成测试数据时,设置环境变量如下:

CYPRESS_GENERATE_TEST_DATA=true npx cypress run

另见the documentation on Cypress.env()

【讨论】:

    猜你喜欢
    • 2023-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-20
    • 2020-05-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多