我正在设置一个简单的NodeJS应用程序,我正在与Travis-CI集成。我正在使用Mocha来帮助我进行测试。然而,虽然这些测试在本地运行良好,但在部署到Openshift之前,我在使用Travis-CI时未通过测试。解决这个问题的一些帮助会很酷=)
Travis-CI输出
CAT@0.0.1 test /home/travis/build/melvrickgoh/CAT
> mocha test/
sh: 1: mocha: Permission denied
npm ERR! Test failed. See above for more details.
npm ERR! not ok code 0
这是我的 package.json
中的内容"scripts": {
"start": "node app.js --websocket-port=$OPENSHIFT_NODEJS_PORT --log-level=1",
"test": "mocha test/ "
},
答案 0 :(得分:7)
同样的问题,将此添加到我的.travis.yml
这为我修复了它:
before_script: chmod 0777 ./node_modules/.bin/mocha
答案 1 :(得分:1)
在尝试运行测试时在OpenShift上遇到同样的问题。通过使mocha文件可执行来解决,如下所示:
chmod 0777 /var/lib/openshift/53ef9c315973cabb00034c/app-root/runtime/repo/node_modules/.bin/mocha
答案 2 :(得分:-1)
我遇到了同样的问题,将mocha作为dev依赖项安装。
我可以通过简单地卸载然后重新安装mocha来解决它:
npm uninstall --save-dev mocha
然后
npm install --save-dev mocha
也许你可以为mocha的全局安装做同样的事情,但我自己没有测试过它。