Jam*_*der 4 angularjs karma-runner gulp
我的团队正在努力从Grunt搬到Gulp.我有一个很好的Grunt测试任务,但是当我尝试运行测试时(使用gulp-karma)我收到一条错误,上面写着"ReferenceError:找不到变量:module"
我用Google搜索并发现很多帖子都说要检查我的angular-mocks.js文件的位置,并且它位于正确的空间(我的Grunt任务对于相同的代码确实有效).
为了验证在我的代码中它不是一个奇怪的东西,旋转一个新的角度应用程序,并能够复制错误.
我的猜测是我错过了配置值或步骤或其他东西.有什么建议?
谢谢.
@ mcranston18的答案绝对有效.但作为替代选择,gulp-karma目前是一个不必要的插件.部分优势gulp在于您不必在阳光下使用插件.相反,您可以karma直接连接.
var gulp = require('gulp');
var karma = require('karma').server;
gulp.task('tests', function(done) {
return karma.start({
configFile: __dirname + '/test/karma.conf.js',
singleRun: true
}, done);
});
Run Code Online (Sandbox Code Playgroud)
当你在跑步时gulp tests,gulp-karma正在寻找文件gulpfile.js,而不是karma.conf.js你已经定义的文件.请记住,当您返回时gulp.src(tests),您将传递测试通过所需的文件数组.
要解决您的问题,请gulpfile.js更新您的tests阵列,以包含您的bower文件,应用程序文件和测试文件:
var tests = [
'bower_components/angular/angular.js',
'bower_components/angular-mocks/angular-mocks.js',
'bower_components/angular-animate/angular-animate.js',
'bower_components/angular-cookies/angular-cookies.js',
'bower_components/angular-resource/angular-resource.js',
'bower_components/angular-route/angular-route.js',
'bower_components/angular-sanitize/angular-sanitize.js',
'bower_components/angular-touch/angular-touch.js',
'app/scripts/app.js',
'app/scripts/**/*.js',
'test/mock/**/*.js',
'test/spec/**/*.js'
];
Run Code Online (Sandbox Code Playgroud)
您可以删除不需要的files数组karma.conf.js.
(ps我也引用了app.js,因为app/scripts/**/*.js没有匹配的app.js需要首先加载)
| 归档时间: |
|
| 查看次数: |
5764 次 |
| 最近记录: |