我目前正在使用Nitrous,这应该不重要,但我需要安装摩卡,所以我输入:
npm install - g mocha.
安装了所有内容,当我尝试在命令行中运行mocha时,出现以下错误:
/home/action/.parts/lib/node_modules/mocha/bin/_mocha:454
if(!files.length)抛出新错误(“无法解析路径(或模式)”错误:无法解析路径(或模式)'test / unit'
在lookupFiles(/home/action/.parts/lib/node_modules/mocha/bin/_mocha:454:32)
在runAgain(/home/action/.parts/lib/node_modules/mocha/bin/_mocha:305:24)
在Array.forEach(native)
在对象。 (/home/action/.parts/lib/node_modules/mocha/bin/_mocha:304:6)
在Module._compile(module.js:456:26)
在Object.Module._extensions..js(module.js:474:10)
在Module.load(module.js:356:32)
在Function.Module._load(module.js:312:12)
在Function.Module.runMain(module.js:497:10)
在启动时(node.js:119:16)
在node.js:902:3
有谁知道如何解决这个问题?
答案 0 :(得分:49)
默认情况下,mocha包含./test/*.js
。因此,如果这是您的测试所在,只需运行mocha
即可。
如果您在test/unit
进行了测试,则可能需要运行mocha ./test/unit/*.js
。
答案 1 :(得分:14)
您获得的错误与没有名为test/unit
的文件一致并执行此操作:
$ mocha test/unit
检查文件是否存在。 (实际上,如果没有.js
扩展名,我会期望一个目录而不是文件。)在发出命令时检查您是否在正确的位置。
答案 2 :(得分:7)
对于在尝试运行时遇到此错误的任何人:
> npm test
确保package.json文件包含格式为的测试脚本:
<project-root>/<custom-path-to-test>/*.js
例如:
{
"name": "Project Name",
...
"scripts": {
"test": "mocha ./node/test/*.js"
}
...
}
答案 3 :(得分:2)
对于那些安装了mocha并且有这样的makefile的人:
test:
@./node_modules/.bin/mocha -u tdd
.PHONY: test
但收到此错误:
Error: cannot resolve path (or pattern) 'test'
你需要添加文件夹&#34; test&#34;在项目文件夹中。以及 test 文件夹中的测试文件
E.G. /home/you/nodejs/chapter3 ├── lib ├── makefile ├── node_modules ├── package.json └── test ├── db.test.js
答案 4 :(得分:0)
npm install -g mocha
npm install mocha --save-dev
编写测试:test.js
在您的包json文件中添加以下脚本
"scripts": {
"api:test": "node_modules/.bin/mocha --timeout 10000 --recursive test/"
},
转到您的测试目录:npm run api:test
答案 5 :(得分:-1)
将所有测试移至test
文件夹,如果您没有创建一个。
并在package.json文件中输入'mocha'
"scripts":{
"test": "mocha"
},
并运行
npm test
在终端。
答案 6 :(得分:-1)
如果您运行npm test
,它将仅在不在子目录中的测试目录中执行*.js
个文件。
如果您还想在test文件夹的子目录中执行*.js
测试文件。
请按照以下步骤操作:
--recursive