当我在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"
}
答案 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。