我有一些在node.js环境和浏览器中工作的节点包。现在我有两个单独的测试(针对每个环境)。仅使用npm test
命令运行这些测试的最佳方式是什么?另外,我想将这些包添加到travis中。
我使用的是mocha
和mocha-phantomjs
。
节点测试命令
node ./node_modules/mocha/bin/mocha ./test/node/index.js --reporter spec
浏览器测试命令
node ./node_modules/mocha-phantomjs/bin/mocha-phantomjs ./test/browser/index.html
我尝试过的东西:
npm test
脚本中
npm test
脚本中测试,并为浏览器测试创建自定义脚本。然后将这两个命令(npm test
和npm run-script test-browser
)作为数组添加到travis.yml中。
npm test
脚本中测试,并将浏览器测试添加到npm posttest
命令中。Travis.yml将只有一个脚本,用户也将不得不运行一个脚本(每个人都很高兴)。
发布于 2013-12-05 03:59:38
我喜欢以下几点:
"scripts": {
"test": "npm run test-node && npm run test-browser",
"test-node": "mocha -R spec ./test/node/index.js",
"test-browser": "mocha-phantomjs ./test/browser/index.html"}
如果第一次通过,&&
只会运行第二次,如果需要,您可以单独运行这两次。注意,npm总是使用relative mocha (在node_modules内部),而不是全局的,所以直接调用mocha
和mocha-phantomjs
没有什么坏处。您可以使用mocha的-b
选项来提高效率,该选项将在遇到错误时立即退出。
发布于 2014-08-29 01:37:56
我在这里寻找关于使用karma
配置npm
的信息。@dankohn's answer可以这样改编:
"scripts": {
"test": "npm run test-node && npm run test-browser",
"test-node": "karma run",
"test-browser": "karma start --single-run"
}
希望这对其他人有所帮助。
发布于 2017-08-08 21:40:17
您也可以使用npm-run-all
包:
npm install npm-run-all --save-dev
"scripts": {
"test": "npm-run-all test-mocha test-mocha-phantomjs",
"test-mocha": "mocha ./test/node/index.js --reporter spec",
"test-mocha-phantomjs": "mocha-phantomjs ./test/browser/index.html"
}
它将运行mocha
和mocha-phantomjs
的本地副本。Twitter bootstrap使用这个库进行开发。
https://stackoverflow.com/questions/20376269
复制相似问题