Foundation-Apps角度站点与karma-jasmine单元测试集成

Csh*_*bag 9 javascript unit-testing zurb-foundation angularjs karma-jasmine

我相信在尝试运行业力茉莉花单元测试时使用角度模拟和基础应用程序存在问题.也可能是我错过了什么.由于有很多代码可以看到我在github上发布了一个示例项目供审阅.

基本上该网站运行良好,业力运行测试,但当你调试angular.mocks.module函数时,你发现你的应用程序中的模块没有被加载.

如果你从基础应用程序中解脱出来,它将正常工作.

这可能是版本冲突,因为基础应用程序对角度模拟有较旧的依赖性吗?

最好的github

Den*_*nin 2

我遇到了同样的问题,我的解决方案是将生成的 css 文件(app.css - 使用sass任务生成)添加到 karma 配置中。没有这个文件我得到:

TypeError: 'null' is not an object (evaluating 'mediaQueries[key].replace')
Run Code Online (Sandbox Code Playgroud)

这是我的gulp配置:

var karma = require('karma').server;
//...........//
// Compiles Sass
gulp.task('sass', function () {
  return gulp.src('client/assets/scss/app.scss')
    .pipe(plugins.sass({
      includePaths: paths.sass,
      outputStyle: (isProduction ? 'compressed' : 'nested'),
      errLogToConsole: true
    }))
    .pipe(plugins.autoprefixer({browsers: ['last 2 versions', 'ie 10']}))
    .pipe(gulp.dest('./build/assets/css/'))
    .pipe(plugins.livereload());
  });
/// ..... some other things here ......///
gulp.task('unit-test', function (done) {
  var testFiles = [          
          {pattern:'./build/assets/js/foundation.js',watched:false},
          {pattern:'./build/assets/js/routes.js',watched:false},
          {pattern:'./build/assets/css/app.css',watched:false},
          {pattern:'./build/assets/js/templates.js',watched:false},
          {pattern:'./bower_components/angular-mocks/angular-mocks.js', watched:false},
          {pattern:'./client/assets/js/*.js'},
          {pattern:'./client/templates/**/*.js'}                  
    ];

    karma.start({
            configFile:__dirname + '/karma.conf.js',
            singleRun: true,
            files: testFiles
        }, done);   
});
Run Code Online (Sandbox Code Playgroud)

假设您的应用程序已经构建,只需运行gulp unit-test.