在命令提示符中获取mocha错误

时间:2016-12-20 05:20:00

标签: node.js mocha

当我在CMD中运行示例js文件时。它显示错误如错误:无法找到测试框架" mocha"。请帮我解决这个问题。

运行测试后

错误:

basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") 
       ^^^^^^^  
SyntaxError: missing ) after argument list 
at exports.runInThisContext (vm.js:53:16) 
at Module._compile (module.js:373:25) 
at Object.Module._extensions..js (module.js:416:10) 
at Module.load (module.js:343:32) 
at Function.Module._load (module.js:300:12) 
at Function.Module.runMain (module.js:441:10) 
at startup (node.js:139:18) 
at node.js:968:3

的package.json:

{
    "name": "macaca-test-sample",
    "version": "0.1.0",
    "description": "macaca-test-sample",
    "keywords": [
        "sample"
    ],
    "main": "index.js",
    "repository": {
        "type": "git",
        "url": "git://github.com/xudafeng/macaca-test-sample.git"
    },
    "dependencies": {
        "mocha": "^3.2.0"
    },
    "devDependencies": {
        "jshint": "*",
        "mocha": "^3.2.0",
        "pre-commit": "1.1.1",
        "webdriver-client": "~1.0.0"
    },
    "scripts": {
        "test": "mocha",
        "jshint": "make jshint"
    },
    "pre-commit": [
        "jshint"
    ],
    "homepage": "github.com/xudafeng/macaca-test-sample";,
    "author": "xudafeng",
    "email": "xudafeng@126.com",
    "blog": "xdf.me";,
    "license": "MIT"
}

1 个答案:

答案 0 :(得分:0)

这是Windows上istanbul的问题,您在macacajs中将此npm作为依赖项:

here解释为:

  

伊斯坦布尔假定传递给它的命令是一个JS文件(例如   茉莉花,誓言等),然而这在npm的Windows上并不正确   将bin文件包装在.cmd文件中。由于伊斯坦布尔无法解析.cmd文件   你需要手动引用bin文件。

     

以下是使用Jasmine 2的示例:

istanbul cover node_modules\jasmine\bin\jasmine.js
     

为了使用这个跨平台(例如Linux,Mac和Windows),您可以将上面的行插入到您的脚本对象中   package.json文件但使用普通斜杠。

"scripts": {
    "test": "istanbul cover node_modules/jasmine/bin/jasmine.js"
}

所以简单的解决方案是将上面的代码片段添加到你的package.json。