无法在摩卡中解析路径

时间:2014-10-03 15:37:17

标签: javascript mocha

我目前正在使用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

有谁知道如何解决这个问题?

7 个答案:

答案 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

https://github.com/shahing/Mocha-RestAPI-Tests

答案 5 :(得分:-1)

将所有测试移至test文件夹,如果您没有创建一个。

并在package.json文件中输入'mocha'

"scripts":{
    "test": "mocha"
  },

并运行

npm test

在终端。

答案 6 :(得分:-1)

如果您运行npm test,它将仅在不在子目录中的测试目录中执行*.js个文件。

如果您还想在test文件夹的子目录中执行*.js测试文件。

请按照以下步骤操作:

  1. 在测试目录中创建mocha.opts文件
  2. 在mocha.opts文件--recursive
  3. 中添加以下行