19

我正在尝试运行我的karma (version v0.10.2)单元测试teamcity (version 7.1).

当我运行时,karma start --reporters teamcity --single-run我收到以下错误:

Can not load "teamcity", it is not registered!  Perhaps you are missing some plugin?

我已经安装了 karma-teamcity-reporter 模块,但这并没有帮助。

以下内容安装在我的本地 node_modules 文件夹中:

karma
karma-chrome-launcher
karma-coffee-preprocessor
karma-coverage
karma-firefox-launcher
karma-html2js-preprocessor
karma-jasmine
karma-phantomjs-launcher
karma-requirejs
karma-script-launcher
karma-teamcity-reporter

这是我的 karma.conf.js:

I'm running karma version v0.10.2. Here's my karma.conf.js:

module.exports = function(karma) {
    karma.set({
        // base path, that will be used to resolve files and exclude
        basePath: '../../myapplication.web',

        frameworks: ['jasmine'],

        plugins: [
          'karma-jasmine',
          'karma-coverage',
          'karma-chrome-launcher',
          'karma-phantomjs-launcher'
        ],

        // list of files / patterns to load in the browser
        files: [
            'Scripts/jquery/jquery-2.0.2.min.js',
            'Scripts/jquery-ui/jquery-ui-1.10.3.min.js',
            'Scripts/daterangepicker/daterangepicker.js',
            'Scripts/angular/angular.js',
            'Scripts/angular/restangular/underscore-min.js',
            'Scripts/angular/restangular/restangular-min.js',
            'Scripts/angular/angular-*.js',
            'Scripts/angular/angular-test/angular-*.js',
            'Scripts/angular/angular-ui/*.js',
            'Scripts/angular/angular-strap/*.js',
            'Scripts/angular/angular-http-auth/*.js',
            'Scripts/sinon/*.js',
            'Scripts/moment/moment.min.js',
            'uifw/scripts/ui-framework-angular.js',
            'app/app.js',
            'app/**/*.js',
            'Tests/unit/**/*.js'
        ],


        // list of files to exclude
        exclude: [
            'Scripts/angular/angular-test/angular-scenario.js'
        ],

        // test results reporter to use
        // possible values: 'dots', 'progress', 'junit'
        reporters: ['progress', 'coverage', 'teamcity'],

        preprocessors : {
            'app/**/*.js': ['coverage']
        },

        coverageReporter : {
            type: 'html',
            dir: 'Tests/coverage/'
        },

        // web server port
        port : 9876,

        // cli runner port
        runnerPort : 9100,

        // enable / disable colors in the output (reporters and logs)
        colors : true,


        // level of logging
        // possible values: LOG_DISABLE || LOG_ERROR || LOG_WARN || LOG_INFO || LOG_DEBUG
        logLevel : karma.LOG_INFO,


        // enable / disable watching file and executing tests whenever any file changes
        autoWatch : true,

        // Start these browsers, currently available:
        // - Chrome
        // - ChromeCanary
        // - Firefox
        // - Opera 
        // - Safari (only Mac)
        // - PhantomJS
        // - IE (only Windows)
        browsers: ['PhantomJS'],

        // If browser does not capture in given timeout [ms], kill it
        captureTimeout : 60000,


        // Continuous Integration mode
        // if true, it capture browsers, run tests and exit
        singleRun : true
    });
};

如果我运行karma start karma.conf.js它运行正确。我究竟做错了什么?

4

1 回答 1

33

结果我需要添加karma-teamcity-reporter到该plugins部分才能使其正常工作:

...

plugins: [
          'karma-teamcity-reporter',
          'karma-jasmine',
          'karma-coverage',
          'karma-chrome-launcher',
          'karma-phantomjs-launcher'
        ],

...
于 2013-10-22T12:16:49.180 回答