我们的客户需要使用一个简单的命令来运行整个测试电池,但他还需要能够使用参数更改环境。目前我们运行:
jest
Run Code Online (Sandbox Code Playgroud)
它运行所有文件,这很好。我们需要这样的东西:
jest --env=local
jest --env=dev
jest --env=qa
Run Code Online (Sandbox Code Playgroud)
这有可能吗?测试文件应该是一样的,所有的测试都是一样的,我们只需要在不同的url上运行
我试图自己解析命令,但玩笑不允许我。如果我输入的内容与预定义的命令不同,则会失败:
? Unrecognized CLI Parameter:
Unrecognized option "a". Did you mean "$0"?
CLI Options Documentation:
https://facebook.github.io/jest/docs/en/cli.html
Run Code Online (Sandbox Code Playgroud)
我看到我可以添加自己的环境。我试过:
开玩笑 --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
Run Code Online (Sandbox Code Playgroud)
但是当我尝试更改这些选项时,我真的很迷茫。我似乎找不到像这样简单的东西
dev = {
url = 'devUrl';
}
qa = {
url = 'qaUrl';
}
etc.
Run Code Online (Sandbox Code Playgroud)
谢谢你的时间。
我按照以下步骤为我工作。希望这也能指导您
要求 * 将用户名和密码解析为命令行参数
脚本
"scripts": {
"loginTest": "jest tests/Login.test.js"
}
Run Code Online (Sandbox Code Playgroud)
步骤 * 在 js 文件中,我添加了下面的内容来读取命令行参数
exports.USER_NAME = require("minimist")(process.argv.slice(2))["username"];
Run Code Online (Sandbox Code Playgroud)
但要使用上述方法,我必须按如下方式更新脚本
"scripts": {
"loginTest": "jest tests/Login.test.js --username=test@test.com",
}
Run Code Online (Sandbox Code Playgroud)
然后我发现下面的方法将参数解析到脚本中。
npm run loginTest -- --username=test@test.com
Run Code Online (Sandbox Code Playgroud)
这样,我就可以在不更改脚本的情况下实现我的要求
| 归档时间: |
|
| 查看次数: |
8866 次 |
| 最近记录: |