Folder structure:
package.json
node_modules
src/
clients/
foo/
cypress.json
cypress/
bar/
cypress.json
cypress-smoke.json
cypress/
integration/
smoke/
Package scripts test subfolders (using relative and absolute paths), see package.json
{
"scripts": {
"test": "npm run test-foo && npm run test-bar",
"test-foo": "cypress run --project ./src/clients/foo",
"test-bar": "cypress run --project $PWD/src/clients/bar"
}
}
If you want to run Cypress tests in the folder "src/clients/foo":
npx cypress run --project ./src/clients/foo
If you want to run Cypress in the folder "src/clients/bar" and use cypress-smoke.json configuration file:
npx cypress run --project ./src/clients/bar --config-file cypress-smoke.json
What's the difference between cypress run --project "folder"
and cypress run --config-file "filepath"
?
When you use cypress run --project ...
you change the root folder where Cypress starts.
When you use --config-file ...
you still run Cypress in the current folder, but instead of loading the settings from cypress.json
file, you load it from a different JSON file.