未能通过风帆运行摩卡testing

我正在关注Sails文档并尝试运行Mochatesting。 我已经按照文档指定的方式编辑了我的package.json ,但由于某种原因,当我尝试运行Mocha时,总是得到EACESS,权限被拒绝。

起初我得到了:

 Error: EACCES, permission denied '/Library/Application Support/Apple/ParentalControls/Users' 

我不明白为什么要做运行我的testing,但增加了这个文件夹所需的权限。

然后我得到:

 Error: EACCES, permission denied '/Library/Application Support/ApplePushService' 

再次,不明白,所以改变了这个文件夹的权限,这也没有帮助。

我不明白为什么摩卡需要这些文件的权限,或者如何解决这个问题。

我跑了这个命令:

 mocha test/bootstrap.test.js test/unit/**/*.test.js 

而且我的项目结构和Sails教程完全一样。

我正在使用Mocha@2.2.5 。 我的同事克隆回购,并试图在他的机器上运行testing,但没有完全相同的错误失败。

我试图降级到Mocha@2.2.0这也没有帮助。

完整的错误追踪:

 events.js:85 throw er; // Unhandled 'error' event ^ Error: EACCES, permission denied '/Library/Application Support/ApplePushService' at Error (native) at Object.fs.readdirSync (fs.js:761:18) at Glob._readdir (/usr/local/lib/node_modules/mocha/node_modules/glob/glob.js:609:20) at Glob._process (/usr/local/lib/node_modules/mocha/node_modules/glob/glob.js:393:15) at Glob.<anonymous> (/usr/local/lib/node_modules/mocha/node_modules/glob/glob.js:427:14) at Array.forEach (native) at Glob.<anonymous> (/usr/local/lib/node_modules/mocha/node_modules/glob/glob.js:426:9) at Glob._afterReaddir (/usr/local/lib/node_modules/mocha/node_modules/glob/glob.js:635:15) at Glob._readdir (/usr/local/lib/node_modules/mocha/node_modules/glob/glob.js:613:17) at Glob._process (/usr/local/lib/node_modules/mocha/node_modules/glob/glob.js:393:15) at Glob.<anonymous> (/usr/local/lib/node_modules/mocha/node_modules/glob/glob.js:427:14) at Array.forEach (native) at Glob.<anonymous> (/usr/local/lib/node_modules/mocha/node_modules/glob/glob.js:426:9) at Glob._afterReaddir (/usr/local/lib/node_modules/mocha/node_modules/glob/glob.js:635:15) at Glob._readdir (/usr/local/lib/node_modules/mocha/node_modules/glob/glob.js:613:17) at Glob._process (/usr/local/lib/node_modules/mocha/node_modules/glob/glob.js:393:15) at Glob.<anonymous> (/usr/local/lib/node_modules/mocha/node_modules/glob/glob.js:427:14) at Array.forEach (native) at Glob.<anonymous> (/usr/local/lib/node_modules/mocha/node_modules/glob/glob.js:426:9) at Glob._afterReaddir (/usr/local/lib/node_modules/mocha/node_modules/glob/glob.js:635:15) at Glob._readdir (/usr/local/lib/node_modules/mocha/node_modules/glob/glob.js:613:17) at Glob._process (/usr/local/lib/node_modules/mocha/node_modules/glob/glob.js:393:15) at Glob.iterator (/usr/local/lib/node_modules/mocha/node_modules/glob/glob.js:171:10) at Array.forEach (native) at new Glob (/usr/local/lib/node_modules/mocha/node_modules/glob/glob.js:169:22) at glob (/usr/local/lib/node_modules/mocha/node_modules/glob/glob.js:57:11) at Function.globSync (/usr/local/lib/node_modules/mocha/node_modules/glob/glob.js:76:10) at Object.lookupFiles (/usr/local/lib/node_modules/mocha/lib/utils.js:590:20) at /usr/local/lib/node_modules/mocha/bin/_mocha:320:30 at Array.forEach (native) at Object.<anonymous> (/usr/local/lib/node_modules/mocha/bin/_mocha:319:6) at Module._compile (module.js:460:26) at Object.Module._extensions..js (module.js:478:10) at Module.load (module.js:355:32) at Function.Module._load (module.js:310:12) at Function.Module.runMain (module.js:501:10) at startup (node.js:129:16) at node.js:814:3 npm ERR! Test failed. See above for more details. 

看看我的sails.jstesting例子 。 我认为这可能会帮助你。

如下面的代码所示,请参考test / bootstrap.js 。

 var Sails = require('sails'); var _ = require('lodash') global.DOMAIN = 'http://localhost'; global.PORT = 1420; global.HOST = DOMAIN + ':' + PORT; before(function(callback) { this.timeout(7000); var configs = { log: { level: 'info' }, connections: { memory: { // lets use memory tests ... adapter : 'sails-memory' } }, models: { connection: 'memory' }, port: PORT, environment: 'test', // @TODO needs suport to csrf token csrf: false, // we dont need this configs in API test hooks: { grunt: false, socket: false, pubsub: false } }; Sails.load(configs, function(err, sails) { if (err) { console.error(err); return callback(err); } console.log('rodo!') // here you can load fixtures, etc. callback(err, sails); }); }); after(function(done) { // here you can clear fixtures, etc. sails.lower(done); }); 

我不知道它是否可以帮助,但我有一个类似的问题:只要我在我的shell中键入摩卡,这是失败与EACCES在我的应用程序之外的文件夹。 :

 /usr/local/lib/node_modules/mocha/bin/_mocha:372 throw err; ^ Error: EACCES: permission denied, scandir '/backup/mint17.3/etc/cups/ssl' 

我发现错误来自文件./test/mocha.opt当我从sails.js文档写了评论:

 /** * @Doc :: This file should contain mocha configuration as described here: https://mochajs.org/#mochaopts * * Note: The default test-case timeout in Mocha is 2 seconds. Increase * the timeout value in mocha.opts to make sure the sails lifting completes * before any of the test-cases can be started. */ --timeout 5s