問題タブ [karma-coverage]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
google-chrome - カルマ カバレッジのカルマは開始に時間がかかります
現在、karma-coverage プラグインを使用している場合、Karma (0.12.31) に問題があります。
カバレッジなしで Karma を実行すると、数秒後にテストが実行されます。karma-coverage プラグインでカルマを実行すると、かなり時間がかかります。取材にもっと時間がかかることは承知していますが、その時間はばかげていると思います。
カルマカバレッジを使用すると、「カルマクロムは60000ミリ秒でキャプチャされていないため、殺害されました」というメッセージが表示され、カルマがChromeを強制終了します(43.0.2357.132を使用しています)。5 分後、新しい Chrome ウィンドウが開き、数秒後にテストが最終的に実行されます。
私の設定は正しいのでしょうか?4000 回のテストのうち 12 回しか実行していませんが、4000 回のテストについて話しているのです。
これは私の karma.conf.js ファイルです:
javascript - CoffeeScript と CommonJS pre. を使用するための Karma 構成のセットアップ方法
CoffeeScript と CommonJS プリプロセッサを使用して Karma をセットアップしようとしていますrequire is not defined
が、ターミナルにエラー ログが表示されます。
ソースとテスト ファイルが common-js ブリッジ js ファイルの前に読み込まれるため、読み込み順序の問題のようです。読み込み順序を指定するにはどうすればよいですか? または、私の設定に他の問題がありますか?
以前の構成のエラーは、ERROR [preprocessor.coffee]: unexpected MATH
node_modules フォルダー内のすべてのコーヒー ファイルにプリプロセッサが適用されていたという問題でした。
私Karma.config.coffee
はこのように見えます:
私のディレクトリ構造は次のようになります。
$ node_modules\.bin\jasmine-node spec --coffee --color
テストが正常に実行されるように jasmine-node で実行すると、テスト ファイルが機能するはずです。イスタンブールを Windows 8.1 (64 ビット) で直接 CoffeeScript と連携させることができなかったので、Karma を使用したいと思います (コマンド ラインの問題と思われます)。
現時点では、カバレッジは html レポートに何も追加していませんが、それはrequire undefined
問題が原因だと思います。
ブラウザ コンソールに次のエラーが表示されます。
code-coverage - Karma-coverage : オブジェクトにはメソッド isIdentifierPart がありません
JQuery Mobile プロジェクトのコード カバレッジには Karma を使用し、テストには QUnit または Jasmine を使用したいと考えています。
必要なすべてのノード パッケージ (karma、karma-cli、karma-coverage、jasmine/qunitjs、karma-chrome-launcher) をインストールし、次の karma.conf ファイルを作成しました。
カルマ.conf.js
そしてこのテストファイル(Jasmineを使用):
不在.test.js
私のプロジェクトでカルマスタートを開始します。私の不在.jsファイルには、この関数のみが含まれています:
私のカバレッジレポートが生成され、私の不在.jsファイルでカバーされているコードの50%を示しています。
しかし、「if」ステートメントを使用して関数を変更すると、次のようになります。
コンソールに次のエラーがあります。
実際、条件ステートメントまたはループを使用すると、このエラーが発生しました。カルマの設定に何か問題がありますか?
編集
Node.js とすべての karma パッケージを再インストールしましたが、最終的には機能しますが、奇妙な問題が発生しました。カバレッジレポーター ディレクトリを指定した場合、生成されたすべての html ファイルがソース ディレクトリに配置されます...
何か考えはありますか?
jasmine - Jasmine: transformResponse/resolve を使用した関数
コントローラーに機能があります:
そして、次のようにテストします。
テストはパスしましたが、関数 transformResponse がテストでカバーされていないカルマ カバレッジが表示されます。この関数を正しくモックするにはどうすればよいですか? ありがとう!
angularjs - AngularJS ディレクティブ - 単体テストのカルマ カバレッジ
ディレクティブの単体テストをカバーするのに問題があります。http://blog.revolunet.com/blog/2013/12/05/unit-testing-angularjs-directive/ (Julien Bouquillon 著)の方法を使用し て、ディレクティブの単体テストを作成しました。そのブログで提示されたアイデアは私のニーズにぴったりで、よく説明されていましたが、私の問題は、カバレッジが Karma Coverage (イスタンブール コード カバレッジ ツール) に反映されていないことです。
カバレッジの概要に反映されるようにするには、ディレクティブの単体テストをどのように作成すればよいですか? 誰かがそれを可能にする例を持っていますか?
javascript - 変換前のソース コードの Karma コード カバレッジを取得する
Karma を使用してテストを実行し、webpack を使用してファイルをバンドルし、babel を es6 -> es5 変換に使用しています。テストを実行し、コード カバレッジを生成していますが、コード カバレッジの数値はトランスパイル後のソース ファイルのものです。代わりに元のソース ファイルのコード カバレッジを取得する方法はありますか?
プリプロセッサを使用してみましたsourcemap
が、何もしないようでした。それをどこかのwebpack構成に追加する必要がありますか?
カルマ.conf.js
angularjs - Karma-Coverage および Istanbul HTML レポートが予期されたディレクトリに出力されない
イスタンブールが HTML レポートを Karma 設定で指定されたディレクトリに出力するのに問題があります。現在、メインの index.html は正しいディレクトリに出力されますが ( reports/coverage
)、詳細な html 子ページはソース ファイルと同じディレクトリに出力されます ( www/js/...
)。こちらおよびこちらで説明されている問題と同じですが、提案された解決策を試しても問題は解決しません。
これは私のカルマ設定ファイルの内容です:
すべてのカバレッジ ファイルがreports/coverage
ディレクトリに配置されるように、これを解決する方法についての提案をいただければ幸いです。ありがとう。
angularjs - AngularJS 単体テスト ディレクティブ
AngularJS 単体テストを行っており、Karma - Coverage を使用して結果を確認しています。これが私のコードです。
以下のテストケースを書きました。
ご覧のとおり、テストするために多くのコードを試しましたkeydown
が、どれも機能しません。コード カバレッジ レポートの結果は変わりません。どうすればテストできますか?私は AngularJS とその単体テストが初めてで、Google で検索してもまだ解決策が見つかりません。
編集: Angular ディレクティブ クリック ハンドラーの単体テストを試み、コードを変更しました。しかし、それでもうまくいきません。