2

我正在使用 Grunt、Angular 和 Karma,但遇到以下问题 - 我读到我必须在 karma 任务的名称中添加“:run”,以便在后台运行所有测试并仅使用 Karma 的一个实例. 听起来不错,很容易。它适用于单元测试,但是当我用 e2e 测试尝试同样的事情时它就不起作用了。出于某种原因,我得到:

Running "karma:e2e:run" (karma) task
NOT FOUND

当我删除“:运行”时,每次触发测试时我都会得到一个新的 Chrome 窗口。

我的 gruntfile 的相关部分如下所示:

karma : {
  e2e : {
    configFile : 'src/config/karma-e2e.conf.js',
    background : true
  },      
  unit : {
    configFile : 'src/config/karma.conf.js',
    background : true
  }
},

watch : {
  scripts : {
    files : ["src/app/*.coffee", "src/partials/*.html","src/*.html","src/styl/*.styl"],
    tasks : ['nah'],
    options : {
      spawn : false,
      livereload: true
    }
  }
}

grunt.registerTask('nah', ['stylus','coffeelint','coffee','concat','karma:unit:run','karma:e2e:run','watch']);

我的 Karma 配置如下所示:

module.exports = function(config){
config.set({

    basePath : '../',

    files : [
        '../test/e2e/*.js'
    ],

    autoWatch : false,

    //singleRun : true,

    reporters : 'dots',

    frameworks : ['ng-scenario'],

    browsers : ['Chrome'],

    proxies : {
      '/': 'http://localhost:3000/src/'
    },

    urlRoot : '/__e2e/',

    plugins : [
            'karma-junit-reporter',
            'karma-chrome-launcher',
            'karma-firefox-launcher',
            'karma-jasmine',
            'karma-ng-scenario'
            ],

    junitReporter : {
      outputFile: 'test_out/e2e.xml',
      suite: 'e2e'
    }

});
};

我不太确定什么是未找到以及如何解决它,因为我一直在谷歌搜索和弄乱它而没有任何结果,所以我决定在这里问。谢谢!

4

0 回答 0