問題タブ [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.

0 投票する
3 に答える
26469 参照

ant - Ant を使用して Emma コード カバレッジ レポートを生成するにはどうすればよいですか?

Emmaコード カバレッジ レポートを生成する Ant タスクをセットアップするにはどうすればよいですか?

0 投票する
2 に答える
349 参照

unit-testing - メソッド内のコードが emma でカバーされているのに、メソッド呼び出しがカバーされていないと表示されるのはなぜですか?

プライベート メソッドがストリームを閉じることを確認する単体テストを作成しています。

単体テストは methodB を呼び出し、変数 something は null です

単体テストはテストでクラスをモックしません

プライベート メソッドは、私が呼び出しているパブリック メソッド内にあります。

Eclipse で emma を (eclemma プラグイン経由で) 使用すると、メソッド内のコードがカバーされていなくても、メソッド呼び出しがカバーされていないと表示されます。

例えば

メソッド呼び出しが対象として強調表示されないのはなぜですか?

0 投票する
8 に答える
4891 参照

java - コードカバレッジはどこまで進んでいますか?

私は最近コードカバレッジツール(特にEmmaとEclEmma)を使い始めましたが、単体テストの完全性と、単体テストがコードのどの領域にないかを確認できるという見方が本当に気に入っています。まったくヒットしません。私は現在、単体テストをあまり行わない組織で働いています。私は、すべての人に単体テストとコードカバレッジ、およびTDDを実施し、できれば組織を変換するように促す予定です。

このテーマについて私が確信していない問題の1つは、コードカバレッジをどこまで実行する必要があるかということです。たとえば、次のようなクラスがある場合:

equals()正しく機能すること、期待どおりの結果が得られることなどを確認するために、いくつかの簡単な単体テストを作成しgetValue()ました。しかし、EclEmmaの視覚的な性質のおかげで、hashcode()メソッドは「テストされていない」場合は明るい赤で表示されます。

hashCode()この例では、実装がいかに簡単であるかを考えると、わざわざテストする価値がありますか?このメソッドの単体テストを追加して、コードカバレッジを%向上させ、EclEmmaがこれらの行に追加する明白な赤いハイライトを取り除くように感じます。

神経症でOCDに似ているかもしれませんが、EclEmmaのようなものを使用すると、テストされていないものを簡単に確認できます。プラグインはソースコードを赤で強調表示し、カバーされたコードは緑で強調表示します。できるだけ多くのクラスを100%グリーンにするようにプッシュします-それがあまりメリットをもたらさない場合でも。

0 投票する
2 に答える
951 参照

java - EMMAでClassFormatErrorを取得しますか?

JMockitをモックフレームワークとして使用するテストを使用して、 EMMAでコードカバレッジレポートを生成しようとしています。ほとんどの場合は機能しますが、次のように、いくつかのテストがClassFormatErrorでクラッシュします。

何が起こっているのか、そして私が問題を解決できるかどうかについて何か考えはありますか?または、EMMAとJMockitは相互に排他的ですか?

0 投票する
4 に答える
3844 参照

java - EMMA カバレッジ ツールがラインごとのカバレッジを表示しない

私はコード カバレッジに EMMA ツールを使用していますが、最善の努力にもかかわらず、EMMA は元の .java ファイルを参照して行ごとにカバレッジを生成することを拒否しています。

ANT を使用してコードをビルドし、debug を true に設定します。.emma ファイルが正しく生成およびマージされているように見えるため、EMMA がカバレッジを測定していることはわかっています。レポートは、高レベルのメソッド カバレッジをパーセンテージで表示できます。

しかし、なぜ .java ファイルが表示されないのでしょうか? 私が得るのは次のとおりです:[ソースファイル 'a/b/c/d/e/f/code.java'がソースパスに見つかりません]

0 投票する
4 に答える
4213 参照

java - EMMAは私のプロジェクトの1つをカバーしません

EMMAに問題があり、1つを除くすべてのさまざまなJavaプロジェクトを正しくカバーしています。ANTスクリプトが正しいように見えるのに、なぜこれが発生するのか、私は戸惑っています。次の期待される出力が与えられます。

上記は、次のANTスクリプトによって生成されます。

JUnitテストが実行された後、以下がログに記録されます。

emma.report:[レポート]入力ファイルを処理しています...
[レポート]16ミリ秒で読み取られてマージされた1つのファイル
[レポート]何もしません:どのデータファイルにもランタイムカバレッジデータが見つかりません

また、カバレッジレポートは生成されません。

Coverage.emmaファイルが正しくリンクされていると確信しているのに、EMMAがコードをカバーしていないのはなぜですか?

タスクは次のemma.reportようになります。

0 投票する
2 に答える
815 参照

ant - Emma と Ant を使用してカバレッジしきい値を設定する

私は ant ビルドで Emma を使用して、カバレッジ レポートを実行しています。Emma を使用したことがある場合、ライン カバレッジ (または任意の種類のカバレッジ統計) が特定のしきい値を満たさない場合にビルドを失敗させる方法はありますか? 例: ライン カバレッジが 100% でな​​い場合

0 投票する
2 に答える
750 参照

java - Emma はプロジェクト全体のコード カバレッジを提供しません

EMMA ユーザーの中にこの問題に遭遇したことがある人がいるかどうか疑問に思っていました。

基本的に、1 つのメイン ANT スクリプトから個別に呼び出される異なる build.xml ANT スクリプトを持つ複数のプロジェクトがあります。コードは適切にカバーされていますが、JUnit メソッドが別のプロジェクトの別のメソッドを呼び出す場合、その外部メソッド呼び出しは EMMA の対象外です。

誰かがこの問題に遭遇しましたか? 誰でもアドバイスを惜しみませんか?

ありがとう

0 投票する
1 に答える
5135 参照

java - Cobertura/Emma を Eclipse アプリケーションとうまく連携させるにはどうすればよいですか?

私の会社は、Buckminster を使用するようにビルド システムをアップグレードしている最中です (これはうまくいきました)。当然のことながら、管理者は、コードの作成中に使用するメトリックの一部を自動的に生成できれば、それを望んでいます。これらのメトリックの 1 つは、単体テストのカバレッジです。

PDE ベースの以前のビルドでは、コンテキスト内のすべてのプラグインを解析し、それらの内部でテスト クラスを検索し、すべてのテスト ケースをより大きなスイートに放り込み、JUnitResultFormatter.startTestSuite(). その過程で、特定のメタデータ (著作権表示など) に対する自家製のテストと、パッケージの依存関係に対するテストが追加されます。

テスト アプリ用に製品をエクスポートし、選択したカバレッジ ツールを使用して計測し、実行するだけでよいようです。ただし、両方のカバレッジ ツールが、処理しているクラスパス全体を知りたいようです。これらのツールのいずれかを、ビルド ワークスペース全体で jar と依存関係を探し回ることなくうまく機能させることはできますか?