問題タブ [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 に答える
5765 参照

android - クラスをmaven-emmaプラグインによるインストルメントから除外するにはどうすればよいですか?

私はいくつかの単体テストを持っています(それらはAndroidテストですが、私はを使用しRobolectricているので、で実行されていますJVM)。彼らは報道なしで幸せに走ります。

カバレッジで試してみると、emma-mavenからこのエラーが発生します。

重要なビットはclass .... appears to be instrumented alreadyです。

適切なドキュメントを見つけるのは非常に困難ですが、これは私がさまざまなソースからの構成のためにまとめたものです。

問題は、不平を言っていたパッケージを除外したことです(問題は、これらがAndroidライブラリであるということだと思いました-プロジェクトが誤ってパスのリストに2回表示されてしまいます)、今では自分のパッケージについて不平を言っています。


同僚は、上記の<plugin>セクションを<project><build><pluginManagement>に入れるべきだと誤って提案しました。

<configuration>は直接<plugin>にあり、残りの<executions>ビットは削除されている必要があります。回答を参照してください。

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

plugins - どのemma-maven-pluginを使用する必要がありますか?

  1. org.sonatype.maven.plugin:emma-maven-plugin:1.2
  2. org.codehaus.mojo:emma-maven-plugin:1.0-alpha-3
  3. org.apache.maven.plugins:maven-emma-plugin:0.5
0 投票する
2 に答える
1990 参照

fork - PowermockによるEmmaカバレッジ

プロジェクトでは、カバレッジレポートを生成するemmaを構成しました。静的メソッドのいくつかをモックするためにPowerMockを導入するまで、セットアップ全体は正常に機能していました。

@RunWith(PowerMockRunner.class)でクラスにアノテーションを付けると、emmaはカバレッジプロセスを再開しようとし、addressbind例外をスローします。Mavenのsurefireは別のランナー用に新しいJVMをフォークしており、emmaは新しいJVMで再起動を試みていると思います。

surefire forkModeのさまざまなオプションを試しましたが、役に立ちません。 Running util.HttpClientFactoryTest Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.154 sec Running xxx.util.ServiceConnectorUtilTest EMMA: collecting runtime coverage data ... java.net.BindException: Address already in use: JVM_Bind at java.net.PlainSocketImpl.socketBind(Native Method) at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:383)

これを回避する方法についてのアイデアはありますか?どんな助けでも大いに感謝しました。ありがとう

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

android - TeamCity を使用した Android プロジェクトのビルド - テストとコード カバレッジの問題

私は、.NET コードと Android Java プロジェクトの両方で構成されるプロジェクトに取り組んでいます。私たちは、両方のタイプのプロジェクトを 1 つの TeamCity 環境で動作させようとしています。

.NET プロジェクトは、いくつかの NUnit プロジェクトを通じてテストされており、DotCover を使用してカバレッジ レポートを作成しており、すべてが順調に進んでいるようです。現在、Android/Java プロジェクトは Ant ランナーを使用してビルドされており、本番プロジェクトとテスト プロジェクトの両方にいくつかのビルド スクリプトが用意されています。問題は、Java カバレッジ レポートの作成にあるようです。

次の Ant ターゲットを使用してビルド ステップを作成しました。

ビルド ステップは、「Emma カバレッジ ランナー」が有効になるように設定されています (「カバレッジ データにソース ファイルを含める」オプションがオンになっています)。

ビルド ステップの実行中にエラーが発生し、ログ スニペットに次のように示されます (完全なログ ファイルが添付されています)。もう 1 つの重要な問題は、Android/Java 単体テストがビルドの全体的な統計に表示されないことです。

ログの抜粋は次のとおりです。

誰が問題が何であるかについて考えを持っていますか?

ちなみに、コマンド ラインからターゲットを直接実行すると、レポートは問題なく作成されます。

よろしく、 あたり

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

junit - コンパイルエラーを与えるEmma

私はemmaをantビルドと統合しようとしています。これはjunitテストを行います。私の現在のコードは次のように実行されます:antテスト

オフラインインストルメンテーションを試しています:http: //emma.sourceforge.net/userguide_single/userguide.html#N10291

そこで、ターゲット行を次のように変更しました。

だから私はantemmarunを実行しますが、次のエラーが発生します:

commonstest:[junit]実行中com.fourhome.commons.AllTests [junit]実行中のテスト:24、失敗:0、エラー:0、経過時間:0.433秒

走る:

ビルドに失敗しましたC:\ code \ svn \ core \ core \ trunk \ build-targets.xml:929:問題:タスクの作成またはemmaの入力に失敗しました原因:名前が未定義です。処置:スペルを確認してください。処置:カスタムタスク/タイプが宣言されていることを確認してください。処置:/宣言が行われていることを確認してください。

失敗の行は次のとおりです:emmaenabled = "$ {emma.enabled}"

emma.enabledが定義されていないと思います。どのように定義すればよいですか?

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

java - スローがあるブロックのコードカバレッジ

私は次のようなスニペットを持っています

上記のスニペットをユニットテストしています

上記のコードの問題は、テストするクラスのコードカバレッジが、メソッドsetTargetである100%を示していることです。ifブロックとelseブロックの両方に入ります。ただし、テストクラスメソッド、つまりtestTargetSettingの範囲はカバーされていません。常に赤で表示されます。

コードカバレッジにEmmaを使用しています。実際のクラスメソッドとテストクラスメソッドの両方のコードカバレッジをどのように満たすことができるかについてのアイデア。

注:上記のコードは説明のみを目的としています。

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

java - jar ファイルに emma を使用する方法

jar ファイルを使用して emma を実行するにはどうすればよいですか。テスト目的で emma.jar と別の jar (MySQLConnector.jar) をダウンロードしました。両方のjarを同じフォルダーに配置し、このコマンドを実行しようとしました

. しかし、私はエラーが発生しました

emmarun: Main-Class マニフェスト属性の読み込みに失敗しました

[C:\Documetings\Administrator\Desktop\jars\mysql-connector-java-5.0.8-bin.jar]

この問題を解決するにはどうすればよいですか!!..コードカバレッジをテストする他の方法も大歓迎です!!

前もって感謝します!!

0 投票する
0 に答える
172 参照

maven - emma-maven-plugin は依存関係の順序を尊重しませんか?

依存関係の順序が重要な Maven プロジェクトがあります。すべてがうまく構築されます。テストは問題なく実行されます。

残念ながら、emma-maven-plugin が構成されているため、一部の単体テストで「mvn サイト」の実行が中断されます。'mvn emma:emma' を実行すると、同じ単体テストも壊れます。

emma-maven-plugin が使用するクラスパスを制御する方法、またはプロジェクトで指定された依存関係の順序を強制的に使用する方法はありますか?

私が使用している emma-maven-plugin は org.codehaus.mojo:emma-maven-plugin:1.0-alpha-3 です。

ありがとう、

PS。私は JaCoCo (jacoco-maven-plugin) を認識しており、これは当然のことですが、今のところ、Emma で立ち往生しています。

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

report - エマ・コード取材レポート

私は共通のコア Web パッケージに従う Maven プロジェクトを持っています。

コード カバレッジのために Emma ツールを実行したいと考えています。要件は、emma コード カバレッジ ツールを Maven ベースのプロジェクトに対して実行し、レポートを生成することです。

私はこのツールにまったく慣れておらず、インターネットで指定されているコマンドを試しています。Maven プロジェクトにメイン メソッドがないため (ear を取得して jboss にデプロイします)、pojo ファイルを作成してサービスを呼び出し、maven プロジェクト jar を含めて pojo jar をビルドする必要がありました。

現在、私のシステムには emma.jar しかありません。この jar には main メソッドと maven プロジェクトの jar が含まれています。ツールからレポート ベースの形式が必要なため、emma ツールをバッチ コマンド (emma.jar が存在する場所) から実行します ->java emmarun -jar <jar containing the main method>

私は次のようにレポートを取得します

しかし、ここからは、jar にバンドルされている pojo ファイルからのメソッド呼び出し中に対象となるクラス ファイルがどれかわかりません。

自分のアプローチについて確信が持てない、またはレポートを取得するために見逃している他の手順はありますか?


単体テストへの参照リンクはありますか..簡単な単体テストをコーディングするにはどうすればよいですか...使用手順は非常に混乱していました.コードカバレッジのためにコマンドプロンプトを使用してmavenプロジェクトをテストする簡単な手順を考えました.私のアプローチを簡素化できるemma以外のツールはありますか...コードカバレッジツールを使用して、コマンドプロンプトからmavenプロジェクトをテストしたい..これが私の主な要件です

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

ant - antbuild.xmlでのJUnit用のEmmaの使用

私はEmmaを使う初心者です。EARプロジェクトのモジュールのJUnitテストケースに重要なタスクを追加しようとしています。ここで質問はほとんどありません。

  • EARプロジェクトのパッケージ化にインストルメントクラスを使用する必要がありますか?
  • junitにemmaantタスクを追加する良い方法は何ですか?emmarun:on-th-flyモードまたはオフラインモードを使用する必要がありますか?JUnitの場合、フォークを使用する必要がありますか、それともフォークを使用しないでください。

EmmaオフラインモードとJunitwithforkを使用しています。これが私のbuild.xmlです

1つのテストで実行したところ、レポートが生成されません。しかし、EclEmmaで同じ単体テストを実行すると、正しい出力が得られます。