通过 Grunt 运行 Karma 测试时,执行失败并出现以下错误:
[2013-12-30 10:14:22.690] [ERROR] config - Invalid config file!
[ReferenceError: module is not defined]
Gruntfile.js 中的 Karma 配置看起来很正常,我从另一个项目复制了它,它运行得很好。对于 karma.conf.js
文件也是如此,与其他项目没有什么区别,它工作得很好。
我已经查看了这个问题,但它对解决问题没有帮助:Testing service in Angular returns module is not defined
我不会粘贴 Grunt 或 Karma 配置文件,因为它们对解决此问题没有任何影响。
最佳答案
此问题的解决方案可在此处找到:https://github.com/karma-runner/grunt-karma/issues/52
基本上,旧版本的grunt-karma
模块被用作开发依赖项,在本例中它是版本0.4.3> - 这是 package.json
文件中的一个片段:
{
"dependencies": {},
"devDependencies": {
"grunt": "~0.4.1",
"grunt-contrib-copy": "~0.4.1",
"grunt-contrib-concat": "~0.3.0",
"grunt-contrib-uglify": "~0.2.5",
"grunt-karma": "~0.4.3",
"matchdep": "~0.1.2",
"karma": "~0.10.2",
"karma-coverage": "~0.1.0",
"karma-script-launcher": "~0.1.0",
"karma-firefox-launcher": "~0.1.0",
"karma-chrome-launcher": "~0.1.0",
"karma-html2js-preprocessor": "~0.1.0",
"karma-jasmine": "~0.1.3",
"karma-requirejs": "~0.1.0",
"karma-coffee-preprocessor": "~0.1.0",
"karma-phantomjs-launcher": "~0.1.0",
"karma-junit-reporter": "~0.1.0"
},
// ...
}
显然,这个旧版本的grunt-karma
导致了模块未定义
错误。
更新它以使用更新的版本(0.6.2,我们在另一个运行良好的项目中使用它)解决了这个问题:
"grunt-karma": "~0.6.2"
然后在项目目录中运行npm install
下载了grunt-karma
的更新版本,之后测试运行良好。
关于angularjs - Grunt + Karma 测试运行程序失败并显示 "ReferenceError: module is not defined",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20837584/