在npm命令中将标志传递给脚本

时间:2019-04-23 12:23:29

标签: node.js npm cypress npm-scripts create-react-native-app

我正在使用create-react-app构建我的应用程序,并且正在使用cypress进行自动化。

    "scripts": {
    "build-css": "node-sass-chokidar --include-path ./src --include-path ./node_modules src/ -o src/",
    "watch-css": "npm run build-css && node-sass-chokidar --include-path ./src --include-path ./node_modules src/ -o src/ --watch --recursive",
    "start-js": "react-scripts start",
    "start": "npm-run-all -p watch-css start-js",
    "cy:run": "cypress run ,
    "cypress:all": "start-server-and-test start http-get://localhost:3000 cy:run"
}

为了运行测试,首先我需要使用npm start启动应用程序,然后才能运行命令npm run cy:run -- --record --key <record-key>

相反,我正在执行的命令是运行npm run cypress:all的命令npm start,一旦服务器启动并运行,它将对其进行测试。 但是,如何传递此命令的记录标志? npm run cypress:all -- --record <record-key>在这里不起作用。

1 个答案:

答案 0 :(得分:0)

start-server-and-test docs

  

除了使用NPM脚本名称之外,您还可以传递将按原样执行的整个命令(用引号将它们引起来,因此它仍然是单个字符串)。例如,要在运行和记录Cypress.io测试之前启动全局安装的http服务器,可以使用   start-server-and-test 'http-server -c-1 --silent' 8000 './node_modules/.bin/cypress run --record'