問題タブ [emma]
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.
ant - Ant を使用して Emma コード カバレッジ レポートを生成するにはどうすればよいですか?
Emmaコード カバレッジ レポートを生成する Ant タスクをセットアップするにはどうすればよいですか?
unit-testing - メソッド内のコードが emma でカバーされているのに、メソッド呼び出しがカバーされていないと表示されるのはなぜですか?
プライベート メソッドがストリームを閉じることを確認する単体テストを作成しています。
単体テストは methodB を呼び出し、変数 something は null です
単体テストはテストでクラスをモックしません
プライベート メソッドは、私が呼び出しているパブリック メソッド内にあります。
Eclipse で emma を (eclemma プラグイン経由で) 使用すると、メソッド内のコードがカバーされていなくても、メソッド呼び出しがカバーされていないと表示されます。
例えば
メソッド呼び出しが対象として強調表示されないのはなぜですか?
java - コードカバレッジはどこまで進んでいますか?
私は最近コードカバレッジツール(特にEmmaとEclEmma)を使い始めましたが、単体テストの完全性と、単体テストがコードのどの領域にないかを確認できるという見方が本当に気に入っています。まったくヒットしません。私は現在、単体テストをあまり行わない組織で働いています。私は、すべての人に単体テストとコードカバレッジ、およびTDDを実施し、できれば組織を変換するように促す予定です。
このテーマについて私が確信していない問題の1つは、コードカバレッジをどこまで実行する必要があるかということです。たとえば、次のようなクラスがある場合:
equals()
正しく機能すること、期待どおりの結果が得られることなどを確認するために、いくつかの簡単な単体テストを作成しgetValue()
ました。しかし、EclEmmaの視覚的な性質のおかげで、hashcode()
メソッドは「テストされていない」場合は明るい赤で表示されます。
hashCode()
この例では、実装がいかに簡単であるかを考えると、わざわざテストする価値がありますか?このメソッドの単体テストを追加して、コードカバレッジを%向上させ、EclEmmaがこれらの行に追加する明白な赤いハイライトを取り除くように感じます。
神経症でOCDに似ているかもしれませんが、EclEmmaのようなものを使用すると、テストされていないものを簡単に確認できます。プラグインはソースコードを赤で強調表示し、カバーされたコードは緑で強調表示します。できるだけ多くのクラスを100%グリーンにするようにプッシュします-それがあまりメリットをもたらさない場合でも。
java - EMMA カバレッジ ツールがラインごとのカバレッジを表示しない
私はコード カバレッジに EMMA ツールを使用していますが、最善の努力にもかかわらず、EMMA は元の .java ファイルを参照して行ごとにカバレッジを生成することを拒否しています。
ANT を使用してコードをビルドし、debug を true に設定します。.emma ファイルが正しく生成およびマージされているように見えるため、EMMA がカバレッジを測定していることはわかっています。レポートは、高レベルのメソッド カバレッジをパーセンテージで表示できます。
しかし、なぜ .java ファイルが表示されないのでしょうか? 私が得るのは次のとおりです:[ソースファイル 'a/b/c/d/e/f/code.java'がソースパスに見つかりません]
java - EMMAは私のプロジェクトの1つをカバーしません
EMMAに問題があり、1つを除くすべてのさまざまなJavaプロジェクトを正しくカバーしています。ANTスクリプトが正しいように見えるのに、なぜこれが発生するのか、私は戸惑っています。次の期待される出力が与えられます。
上記は、次のANTスクリプトによって生成されます。
JUnitテストが実行された後、以下がログに記録されます。
emma.report:[レポート]入力ファイルを処理しています...
[レポート]16ミリ秒で読み取られてマージされた1つのファイル
[レポート]何もしません:どのデータファイルにもランタイムカバレッジデータが見つかりません
また、カバレッジレポートは生成されません。
Coverage.emmaファイルが正しくリンクされていると確信しているのに、EMMAがコードをカバーしていないのはなぜですか?
タスクは次のemma.report
ようになります。
ant - Emma と Ant を使用してカバレッジしきい値を設定する
私は ant ビルドで Emma を使用して、カバレッジ レポートを実行しています。Emma を使用したことがある場合、ライン カバレッジ (または任意の種類のカバレッジ統計) が特定のしきい値を満たさない場合にビルドを失敗させる方法はありますか? 例: ライン カバレッジが 100% でない場合
java - Emma はプロジェクト全体のコード カバレッジを提供しません
EMMA ユーザーの中にこの問題に遭遇したことがある人がいるかどうか疑問に思っていました。
基本的に、1 つのメイン ANT スクリプトから個別に呼び出される異なる build.xml ANT スクリプトを持つ複数のプロジェクトがあります。コードは適切にカバーされていますが、JUnit メソッドが別のプロジェクトの別のメソッドを呼び出す場合、その外部メソッド呼び出しは EMMA の対象外です。
誰かがこの問題に遭遇しましたか? 誰でもアドバイスを惜しみませんか?
ありがとう
java - Cobertura/Emma を Eclipse アプリケーションとうまく連携させるにはどうすればよいですか?
私の会社は、Buckminster を使用するようにビルド システムをアップグレードしている最中です (これはうまくいきました)。当然のことながら、管理者は、コードの作成中に使用するメトリックの一部を自動的に生成できれば、それを望んでいます。これらのメトリックの 1 つは、単体テストのカバレッジです。
PDE ベースの以前のビルドでは、コンテキスト内のすべてのプラグインを解析し、それらの内部でテスト クラスを検索し、すべてのテスト ケースをより大きなスイートに放り込み、JUnitResultFormatter.startTestSuite()
. その過程で、特定のメタデータ (著作権表示など) に対する自家製のテストと、パッケージの依存関係に対するテストが追加されます。
テスト アプリ用に製品をエクスポートし、選択したカバレッジ ツールを使用して計測し、実行するだけでよいようです。ただし、両方のカバレッジ ツールが、処理しているクラスパス全体を知りたいようです。これらのツールのいずれかを、ビルド ワークスペース全体で jar と依存関係を探し回ることなくうまく機能させることはできますか?