web-dev-qa-db-ja.com

コンソールでより良いテストレポートを取得する方法は?

私はかなり単純な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を開いて[デバッグ]をクリックし、開発者ツールコンソールを表示することです。端末にメッセージをログアウトしたいのですが、私はこれを機能させる方法を理解できません。

36
blockloop

karma-spec-reporter をインストールすることにより修正

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

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

reporters: ['spec'],

karma documentation によると

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

しかし、一部のユーザーは次の設定を追加する必要がありました

plugins: ['karma-spec-reporter']

71
blockloop

Karma-mocha-reporter をレポーターとして使用することもでき、コンソールにクリーンなレポートが表示されます。

npm i karma-mocha-reporter --save-dev

// karma.conf.js
module.exports = function(config) {
  config.set({
    frameworks: ['jasmine'],

    // reporters configuration
    reporters: ['mocha']
  });
};

時々、例えば@angular/cli次のような環境が必要です。

plugins: [
   ...
   require('karma-mocha-reporter'),
   ...
]
2
billyjov

ちょうど別の詳細-以下のようにkarma.config.jsでデフォルトのレポーター 'progress'を保持する場合:

reporters: ["progress", "spec"]

または別のコンソールレポーターの場合、「spec」レポーターの出力は機能しません。

「spec」のみを保持するか、他のブラウザレポーターと「spec」を保持する必要があります。例えば:

reporters: ["spec", "coverage"]
2
Fernando Ghisi

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

package.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"
  }
_

karma.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_ファイル(describe('message', function() ...))から_*-spec.js_メッセージを実行すると、コンソールにうまく表示されます。

1
gvlax

出力を読みやすくするためにレポーターを作成しました:karma-helpful-reporter

いくつかの素晴らしいカスタマイズオプションがあります: https://github.com/whyboris/karma-helpful-reporter

基本的にnpm install --save-dev karma-helpful-reporterを内部にインストールし、Karma設定プラグインセクションに追加します:

plugins: [ 
  require('karma-helpful-reporter')
],
reporters: [ 'helpful' ],
0
Boris Yakubchik