Karmaは広範なテストセットを持っており、バグ対応に割ける時間は限られています。問題解決の糸口となるいくつかの提案を以下に示します。
問題を修正するプルリクエストを作成してください。
多数の自動化サービス、他のプロジェクト、ユーザーから同様の報告を受けています。そのほとんどは軽微なものです。修正をご希望の場合は、プルリクエストを作成してください。オンラインユーザーに影響を与える重大な問題に対してのみ、直接対応します。
多くの問題は、`debugログ` を読むか、`ブラウザの開発者ツール` を使用することで解決できます。
`DEBUG`ログには、最終的な「設定」のコピーが含まれています。プラグインは設定を変更できるため、適用した設定が期待した結果にならない場合があります。ログには、コア`karma`の行とプラグインからの行の両方が含まれています。ログの接頭辞を使用して、問題がKarmaプラグインに報告する必要があるかどうかを判断してください。
`--no-single-run`オプションは、サーバーがURLを出力して待機するようにします。ブラウザでURLを開き、ブラウザの開発者ツールを使用して問題を調査してください。通常、URLを開いてから、右上の「DEBUG」リンクをクリックします。これにより、デバッグ用にコードが整理された新しいウィンドウが開きます。
Angularの設定に関する問題は、他のAngularユーザーに相談してデバッグする方が良いでしょう。カバレッジに関する問題は、設定、カバレッジ計測のためのコンパイラ、またはkarma-coverageに関連している可能性が高いです。
`karma`はすべてJavaScriptコードです。ログを追加することで問題をデバッグできるかもしれません。
これは一般的なWindowsの問題で、ネイティブwsモジュールのコンパイルが失敗します。しかし、`ws`にはフォールバックのJS実装があり、npmはそれを使用するようにするはずです。必要なのは、npmの最新バージョンを使用していることを確認することだけです。そのためには
$ npm install -g npm
または
npmのアップデートに問題がある場合は、NodeJSから最新バージョンをダウンロードしてください。最新バージョンのnpmが含まれています。
Karmaがブラウザバイナリ(実行ファイル)の場所を見つけられない可能性が高いです。正しいパスで適切な環境変数を設定することで、これを修正できます(たとえば、Google Chromeは`CHROME_BIN`環境変数を使用します)。詳しくは[ブラウザ]を参照してください。
キャプチャされたブラウザに移動し、「DEBUG」ボタンをクリックするか(または`http://localhost:9876/debug.html`を開く)、Webインスペクターを使用して何が起こっているかを確認してください。(Webインスペクターを開くと、debug.htmlページを更新する必要がある場合があります。)
`preprocessors`設定の項目は、`basePath`設定を介して解決されます。詳しくはプリプロセッサを参照してください。デバッグログを有効にすることもできます(Karmaの起動時に`--log-level debug`を使用すると)、Karmaはプリプロセスされたファイルを表示します。
まず、`node_modules`から`karma`および`karma-*`モジュールを削除し(たとえば`rm -rf /usr/local/lib/node_modules/karma-*`)、Karmaを再インストールしてみてください。
Karmaのタブがアクティブになっていることを確認してください。ブラウザは非アクティブなタブに最小限のCPUしか割り当てません。
テスト設定の複雑さのため、再現手順がないバグの修正はめったに行いません。最善のアプローチは、すべてのコンポーネントをインストールしてバグを再現するgithubプロジェクトを作成することです。