赛普拉斯测试数据生成脚本不属于测试套件

问题描述

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

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

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

您是否有一个想法,当我明确希望它执行时,如何使cypress GUI一方面忽略我的测试数据生成测试,另一方面让它保持可被cypress执行?

解决方法

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

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()

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...