我们的客户需要使用一个简单的命令运行整个测试组,但他还需要能够使用参数更改环境。目前我们运行:
jest
字符串
而且它运行所有的文件,这很好。我们需要类似于:
jest --env=local
jest --env=dev
jest --env=qa
型
这可能吗?测试文件应该是一样的,所有的测试工作原理都是一样的,我们只需要在不同的URL上运行它
我尝试自己解析命令,但jest不允许。如果我输入的命令与预定义的命令不同,则会失败,并显示:
● Unrecognized CLI Parameter:
Unrecognized option "a". Did you mean "$0"?
CLI Options Documentation:
https://facebook.github.io/jest/docs/en/cli.html
型
我看到我可以添加自己的环境。我试过:
jest --env=qa
...查看它的输出并打印:
● Validation Error:
Test environment qa cannot be found. Make sure the testEnvironment configuration option points to an existing node module.
Configuration Documentation:
https://facebook.github.io/jest/docs/configuration.html
型
但当我试图改变这些选择时,我真的迷失了。我找不到简单的东西
dev = {
url = 'devUrl';
}
qa = {
url = 'qaUrl';
}
etc.
型
谢谢你抽出时间
5条答案
按热度按时间oogrdqng1#
我遵循以下步骤并为我工作。希望这也能指导你
要求 * 将用户名和密码解析为命令行参数
指令码
字符串
步骤 * 在js文件中我在下面添加了读取命令行参数
型
但要使用上面的方法,我必须按如下所示更新脚本
型
然后我找到了下面的方法来将参数解析到脚本中。
型
有了这个,我就能够在不改变脚本的情况下实现我的要求
yvt65v4c2#
下面的命令行和解析可以设置环境/舞台URL等。
个字符
这并不是说你应该在prod上运行测试,但它可以方便地进行拉取数据监控,例如检查端点状态:
型
mrzz3bfm3#
我有同样的要求:改变环境我找到了自己的解决方案,也许不是最好的解决方案,但它有效:jestjs -如何在ci中从cli参数化测试执行?
aor9mmx14#
上面“Seba Illingworth”的解决方案对我很有效。
“进程”中有一堆数据。我用这段代码检索了确切的命令行,我可以从中解析。
字符串
1mrurvl15#
这可以通过为每个环境使用不同的jest配置文件来实现,即
jest.config.dev.js
、jest.config.qa.js
等然后在配置文件中可以设置全局变量:
字符串
这些全局变量,例如
__ENV__
,然后可以在测试代码中使用。然后使用jest -c jest.config.{env}.js
运行每个不同环境的测试。