プラグイン

Karma はプラグインによって簡単に拡張できます。実際、既存のプリプロセッサ、レポーター、ブラウザランチャー、フレームワークはすべてプラグインです。

既存のプラグインを npm からインストールするか、独自のプラグインを Karma 用に作成することもできます。

プラグインのインストール #

プラグインをインストールする場合の推奨方法は、package.json でプロジェクトの依存関係として追加する方法です。

{
  "devDependencies": {
    "karma": "~0.10",
    "karma-mocha": "~0.0.1",
    "karma-growl-reporter": "~0.0.1",
    "karma-firefox-launcher": "~0.0.1"
  }
}

したがって、プラグインをインストールする簡単な方法は次のとおりです。

npm install karma-<plugin name> --save-dev

プラグインのロード #

デフォルトでは、Karma は karma-* で始まる名前を持つすべての兄弟 npm パッケージからプラグインをロードします。

また、この動作を上書きし、plugins 設定を使用してロードするプラグインを明示的にリストすることもできます。

config.set({
  plugins: [
    // Load a plugin you installed from npm.
    require('karma-jasmine'),

    // Load a plugin from the file in your project.
    require('./my-custom-plugin'),
  
    // Define a plugin inline.
    { 'framework:xyz': ['factory', factoryFn] },

    // Specify a module name or path which Karma will require() and load its 
    // default export as a plugin.
    'karma-chrome-launcher',
    './my-fancy-plugin'
  ]
})

プラグインのアクティベート #

プラグインを plugins 配列に追加しても Karma にプラグインが認識されるだけで、そのプラグインのアクティベートにはなりません。プラグインタイプに応じて、frameworksreporterspreprocessorsmiddlewarebrowsers 設定キーにプラグイン名を追加してアクティベートする必要があります。詳細な情報については、対応するプラグインのドキュメントを参照するか、プラグインの仕組みをより詳しく説明した プラグインの開発 ガイドを参照してください。