【发布时间】:2015-06-14 13:43:46
【问题描述】:
我正在关注 Sails 文档并尝试运行 Mocha 测试。
我已经按照文档指定的方式编辑了我的package.json,但由于某种原因,当我尝试运行 Mocha 时,我总是收到 EACESS,权限被拒绝错误。
一开始我得到了:
Error: EACCES, permission denied '/Library/Application Support/Apple/ParentalControls/Users'
我不明白为什么它必须对运行我的测试做任何事情,但添加了此文件夹所需的权限。
然后我得到了:
Error: EACCES, permission denied '/Library/Application Support/ApplePushService'
再次,不明白,所以改变了这个文件夹的权限,这也没有帮助。
我不明白为什么 Mocha 需要这些文件的权限,或者如何修复它。
我运行了命令:
mocha test/bootstrap.test.js test/unit/**/*.test.js
而且我的项目结构和 Sails 教程中的完全一样。
我正在使用 Mocha@2.2.5。 我的同事克隆了 repo,并尝试在他的机器上运行测试,但失败并出现完全相同的错误。
我尝试降级到 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.
【问题讨论】:
-
ls test/unit/**/*.test.js是做什么的?似乎您的test/目录中的某处可能存在指向/Library/Application Support/的符号链接。 -
运行
ls命令返回:test/unit/controllers/UserController.test.js test/unit/models/User.test.js这是我的两个测试文件。搜索时我没有看到任何符号链接。 -
可能是您所在的特定目录有问题?尝试运行
npm cache clean,然后再次运行npm install,然后再次运行该命令,看看它是否有效。如果没有,也许尝试切换目录? -
没有帮助。还尝试将文件夹移动到不是旧目录的父目录的其他目录 - 也没有帮助。
-
你找到自己的路了吗?这个问题有点老了,我也有同样的问题。 mocha 正在扫描整个磁盘并死在第一个被拒绝的文件夹中
标签: node.js unit-testing sails.js mocha.js