即使使用 --spec 参数,cypress 也会运行所有测试文件
cypress runs all test files even when --spec parameter is used
我有两个 cypress 测试文件,SmokeTest.spec.ts 和 ProfileTest.spec.ts。我想在无头模式下一次 运行 一个文件。我使用以下命令:npm run cy:run --headless --spec cypress/integration/SmokeTest/SmokeTest.spec.ts
尽管我使用了 --spec 参数,但两个测试文件 运行 都处于无头模式。
我也试过在测试文件路径周围添加单引号,如下所示:--spec 'cypress/integration/SmokeTest/SmokeTest.spec.ts'
结果相同
为什么要 运行 这两个测试?
能否请您在 package.json
文件的脚本下添加以下内容。
"scripts": {
"cy:smoketest-only": "cypress run --headless --spec cypress/integration/SmokeTest/SmokeTest.spec.ts --browser electron"
}
或使用全局模式:
"scripts": {
"cy:smoketest-only": "cypress run --headless --spec cypress/integration/SmokeTest/**/* --browser electron"
}
然后 运行 从项目根文件夹的命令提示符中执行以下命令
npm run cy:smoketest-only
您也可以使用以下命令来 运行 单个规范文件 -
npx cypress run --spec "cypress/integration/SmokeTest/SmokeTest.spec.ts" --headless --browser chrome
cy:run
是 package.json 中的脚本条目,它调用 cypress run
.
{
...
"scripts": {
"cy:run": "cypress run"
要将额外的参数传递给脚本,您必须在它们之前加上 --
(注意双破折号前后有空格)。
The special option -- is used by getopt to delimit the end of the options. npm will pass all the arguments after the -- directly to your script
您不需要向 package.json 添加额外的脚本。
中也有注明
When calling a command using npm run, you need to pass the command’s arguments using the -- string. For example, if you have the following command defined in your package.json
{
"scripts": {
"cy:run": "cypress run"
}
}
…and want to run tests from a single spec file and record the results on the Dashboard, the command should be:
npm run cy:run -- --record --spec "cypress/integration/my-spec.js"
您的特定命令行是
npm run cy:run -- --headless --spec cypress/integration/SmokeTest/SmokeTest.spec.ts
我有两个 cypress 测试文件,SmokeTest.spec.ts 和 ProfileTest.spec.ts。我想在无头模式下一次 运行 一个文件。我使用以下命令:npm run cy:run --headless --spec cypress/integration/SmokeTest/SmokeTest.spec.ts
尽管我使用了 --spec 参数,但两个测试文件 运行 都处于无头模式。
我也试过在测试文件路径周围添加单引号,如下所示:--spec 'cypress/integration/SmokeTest/SmokeTest.spec.ts'
结果相同
为什么要 运行 这两个测试?
能否请您在 package.json
文件的脚本下添加以下内容。
"scripts": {
"cy:smoketest-only": "cypress run --headless --spec cypress/integration/SmokeTest/SmokeTest.spec.ts --browser electron"
}
或使用全局模式:
"scripts": {
"cy:smoketest-only": "cypress run --headless --spec cypress/integration/SmokeTest/**/* --browser electron"
}
然后 运行 从项目根文件夹的命令提示符中执行以下命令
npm run cy:smoketest-only
您也可以使用以下命令来 运行 单个规范文件 -
npx cypress run --spec "cypress/integration/SmokeTest/SmokeTest.spec.ts" --headless --browser chrome
cy:run
是 package.json 中的脚本条目,它调用 cypress run
.
{
...
"scripts": {
"cy:run": "cypress run"
要将额外的参数传递给脚本,您必须在它们之前加上 --
(注意双破折号前后有空格)。
The special option -- is used by getopt to delimit the end of the options. npm will pass all the arguments after the -- directly to your script
您不需要向 package.json 添加额外的脚本。
中也有注明When calling a command using npm run, you need to pass the command’s arguments using the -- string. For example, if you have the following command defined in your package.json
{ "scripts": { "cy:run": "cypress run" } }
…and want to run tests from a single spec file and record the results on the Dashboard, the command should be:
npm run cy:run -- --record --spec "cypress/integration/my-spec.js"
您的特定命令行是
npm run cy:run -- --headless --spec cypress/integration/SmokeTest/SmokeTest.spec.ts