問題タブ [istanbul]
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.
node.js - すべてのソース コードのカバレッジをイスタンブールに生成させるにはどうすればよいですか?
現在、Istanbul は私のテストで使用されているファイルのカバレッジのみを生成しています。
イスタンブールの構成がなくnpm test
、次のスクリプト文字列を使用して呼び出しています。
$ istanbul cover _mocha -- -R dot --check-leaks --recursive test/
すべてのソース コードのカバレッジを生成する方法はありますか?
html - AngularJS html テンプレートのコード カバレッジ
カルマ テストでは、コード カバレッジにistanbulを使用しています。これは、JavaScript の単体テストのコード カバレッジを追跡するのに最適です。ただし、これは HTML テンプレートのコード カバレッジを追跡しません。
テンプレートにはほとんどロジックがありませんが、追跡してテストで適切にカバーしたい複雑さが残っています。すべての HTML テンプレートを適切にカバーするためのベスト プラクティスは何ですか。私たちの特定のケースでは、ng-if と ng-switch を使用します。すべてのブランチが適切にカバーされるようにしたいと考えています。
javascript - プライベート変数の Jasmine テスト ケース
JavaScript関数のテストにjasmine 2.0を使用しています。以下に書かれているバックボーンコードがあります。
次のようなジャスミンでテストケースを書きました:
div1Clicked関数内でonCompleteのテストケースを書く方法は?
intern - Intern でテストされているコードを事前にインストルメント化できますか?
私はインターン経由でブラウザ単体テストを行っています。私たちは CommonJS フォーマットで書くのが好きなので、Dojo AMD ローダーによってロードできるモジュールにコードをブラウザー化しています。ただし、コード カバレッジ レポートは、バンドルされたコードについても報告しています。
これについて私が見たオプションの 1 つは、コードを事前に実装し、イスタンブールに特定の require ステートメントを無視するように指示することです。それを試した後、Intern はまだコードを再度計測しているようです。
事前にコードをインストルメント化しないようにインターンに指示できますか? または、別のオプションが可能ですか?
karma-runner - Karma パブリック API 経由で実行するときに .istanbul.yml を含める方法
基本的に、カルマは から始めnode wrapper.js
ます。そのラッパーは、の呼び出しを含む構成をセットアップし、karma-coverage
Karma を で開始しrequire('karma').runner.run
ます。karma-coverage
イスタンブールに呼びかけます。(ふぅ!)
.istanbul.yml
主に「レポートの透かし」を変更したいので、イスタンブールをファイルで構成したいと思います。私のファイルは次のようになります。
私が見たものからすると、それは正しいように見えます。しかし..うまくいきません。問題は、イスタンブールが現在の作業ディレクトリを認識していないか、何らかの方法でこれを指定する必要があることだと思いますkarma-coverage
。
それが助けになるなら、私のカルマconfig.basePath
は単純''
です.
この特定の問題に関する議論を見つけようとしました。悲しいことに、この質問は私の問題に最も近いものですが、「ファイルの名前の付け方」に関する FAQ エントリです。Grunt でこれについて議論している質問/回答がありますが、有用なものを抽出できませんでした。
また、オープンとクローズの両方で、github のカルマランナーの問題を調べました。カルマランナーのソースを見て、それをイスタンブールのこの問題と組み合わせると、この行のために不可能だと思います。私は正しいですか?
jasmine - ジャスミン + イスタンブールのみ
Jasmine の specrunner.html を実行しているときに、ブラウザで直接コード カバレッジを取得したいと考えています。Jasmine+Istanbul で見つけたすべての例は、Grunt/Gulp/Karma またはその他のコマンド ライン ツールも使用しています。私はそれをしたくありません。
Jasmine + Istanbul を使用してブラウザーに結果を表示する方法はありますか、それともここで cmd テスト ランナーが必須ですか?