44

私はかなり単純な karma.config.js ファイルを持っています

basePath = '../';


files = [
  JASMINE,
  JASMINE_ADAPTER,
  'js/lib/angular*.js',
  'test/lib/angular/angular-mocks.js',
  'js/**/*.js',
  'test/unit/**/*.js'
];

autoWatch = true;
browsers = ['PhantomJS'];


実行するkarma start config/karma.conf.js --single-runと、次の出力が得られます

$ karma start config/karma.conf.js --single-run
[2013-06-24 23:47:08.750] [DEBUG] config - autoWatch set to false, because of singleRun
INFO [karma]: Karma server started at http://localhost:9876/
INFO [launcher]: Starting browser PhantomJS
INFO [PhantomJS 1.9 (Mac)]: Connected on socket id LwMoWxzIbSUuBsvIqB_m
PhantomJS 1.9 (Mac): Executed 6 of 6 SUCCESS (0.073 secs / 0.02 secs)

ログに記録されるテストの出力を取得する方法を教えてくれるものを探していました(例SUCCESS Unit: services myService should behave

テストの出力を確認できる唯一の方法は、Chrome を開いて [デバッグ] をクリックし、開発者ツール コンソールを表示することです。メッセージを端末にログアウトさせたいのですが、これを機能させる方法がわかりません。

4

5 に答える 5

82

karma-spec-reporterをインストールすることで修正されました

npm install karma-spec-reporter --save-dev

これを私のkarma.config.jsに追加します

reporters: ['spec'],

カルマのドキュメントによると

デフォルトでは、Karma は兄弟であるすべての NPM モジュールをロードし、それらの名前は karma-* と一致します。

ただし、一部のユーザーは構成に次を追加する必要がありました

plugins: ['karma-spec-reporter']

于 2013-06-26T18:11:44.257 に答える
1

これは、「プラグイン」セクションのない私の作業 (ドラフト) 構成です (実際、なぜそれらを指定する必要があるのか​​ 完全には理解していません...):

パッケージ.json

  "devDependencies": {
    [...]
    "grunt-karma": "~0.9.0",
    "karma": "~0.12.24",
    "karma-jasmine": "~0.2.3",
    "karma-chrome-launcher": "~0.1.5",
    "karma-phantomjs-launcher": "~0.1.4",
    "karma-spec-reporter": "0.0.13"
  }

カルマ.conf.js

module.exports = function (config) {
    config.set({
        frameworks: ['jasmine'],
        reporters: ['spec'],
        browsers: ['PhantomJS']
    });
};

Gruntfile.js

    karma: {
        options: {
            configFile: 'karma.conf.js',
            files: [
                'app/libs/angular.js',
                'app/libs/angular-resource.js',
                'app/libs/angular-route.js',
                [...] 
                'app/modules/**/*-spec.js'
            ]
        },
        unit: {
            singleRun: true
        }
    }

ファイル ( )grunt karmaからメッセージを実行すると、コンソールに適切に表示されるようになりました。*-spec.jsdescribe('message', function() ...)

于 2014-11-06T09:17:49.760 に答える