コマンドラインからのJunitとJacocoでのJavaカバレッジは0%です

ジョンクチャン

これらすべてのプロセスで「コマンドライン」のみを使用しましたが、それを実行したいと思います(Ant、maven、gradleなどは使用しません)。

JunitテストケースとJaCoCoカバレッジ推定を実行したいと思います。

まず、以下は私のコードです

Calculator.java

public class Calculator {
  public int evaluate(String expression) {

    int sum = 0;
    for(String summand: expression.split("\\+"))
        sum += Integer.valueOf(summand);
    System.out.println("Hello World!!");
    return sum;
  }
}

CalculatorTest.java

import static org.junit.Assert.assertEquals;
import org.junit.Test;

public class CalculatorTest {
  @Test
  public void evaluatesExpression(){
    Calculator calculator = new Calculator();
    int sum = calculator.evaluate("1+2+3");
    assertEquals(6, sum);
  }
}

2つのJavaファイルはであるC\CalCalフォルダが含まれている4つのjarファイル(junit-4.12.jarhamcrest-core-1.3.jarjacococli.jarjacocoagent.jar

この状況で、私はclassfileを作成しましたCalculator.class

javac Calculator.java

そして、execファイルのユニットテストカバレッジを推定するために(jacocoの実行ファイルだと思います)ファイルを作成しましたCalculator.java

java -javaagent:jacocoagent.jar=destfile=jacoco.exec

その後、execファイルとコマンドを使用してレポートを抽出しました

java -jar jacococli.jar report jacoco.exec --classfiles Calculator.class --html "report" --name jacocoReport --sourcefiles "Calulator.java"

ただし、私が作成したhtmlレポートのテストカバレッジは0%でした。

これが私の質問です:

  1. 私のカバレッジが0%である理由を知っていますか?

  2. 必要なカバレッジ結果を抽出しようとして問題はありますか?

  3. コードでCalculator.javaファイルのカバレッジを計算しCalculatorTest.javaてレポートを抽出する場合、--classfilesのみを使用して書き込むのは正しいCalculator.classですか?

  4. あなたは、両方を挿入しても結果に違いありませんCalculator.javaCalculatorTest.javaでは--sourcefiles私はそれを間違えましたか?または、その効果は--sourcefiles何ですか?

そして、これは私が参照したインターネットページです:

ゴディン

私のカバレッジが0%である理由を知っていますか?

あなたは、両方を挿入しても結果に違いありませんCalculator.javaCalculatorTest.javaでは--sourcefiles私はそれを間違えましたか?または、その効果は--sourcefiles何ですか?

--sourcefilesパッケージを含むディレクトリを指す必要があります。そしてあなたの場合、あなたのファイルはデフォルトのパッケージ(パッケージなし)を使用しているので、--sourcefilesを含むディレクトリを指す必要がありCalculator.javaます。

必要なカバレッジ結果を抽出しようとして問題はありますか?

いいえ-問題はありません。たとえばCalculator.java、ディレクトリ内srcCalculatorTest.javaディレクトリ内にあるtest-src

mkdir classes
javac src/Calculator.java -d classes
mkdir test-classes
javac -cp junit-4.12.jar:classes test-src/CalculatorTest.java -d test-classes
java -javaagent:jacoco-0.8.1/lib/jacocoagent.jar -cp junit-4.12.jar:hamcrest-core-1.3.jar:classes:test-classes org.junit.runner.JUnitCore CalculatorTest
java -jar jacoco-0.8.1/lib/jacococli.jar report jacoco.exec --classfiles classes --sourcefiles src --html report

次のレポートを作成する

報告書

コードでCalculator.javaファイルのカバレッジを計算しCalculatorTest.javaてレポートを抽出する場合、--classfilesのみを使用して書き込むのは正しいCalculator.classですか?

--classfilesレポートに表示されるクラスファイル、クラスファイルを含むディレクトリ、またはクラスファイルを含むアーカイブを指す必要があります。CalculatorTest.class上記の例では指定されていないため、レポートには表示されません。そして指定されている場合:

java -jar jacoco-0.8.1/lib/jacococli.jar report jacoco.exec --classfiles classes --sourcefiles src --classfiles test-classes --sourcefiles test-src --html report

報告書

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

GradleのmutlimoduleプロジェクトでJacocoオフライン計測とのクロスモジュールのコードカバレッジ

分類Dev

JaCoCo mavenプラグインを使用してSonarQubeのコードカバレッジのファイルを除外するにはどうすればよいですか

分類Dev

コマンドラインからmain(String [])以外のJavaメソッドを呼び出すことはできますか?

分類Dev

リソースを試すための8つのブランチ-jacocoのカバレッジは可能ですか?

分類Dev

-1はマジックナンバーですか?アンチパターン?コードのにおい?当局からの引用とガイドライン

分類Dev

TomcatでJaCoCo Javaエージェントを使用してアプリケーションのコードカバレッジを取得する

分類Dev

jacocoブランチカバレッジとソナー条件カバレッジの違いは何ですか?

分類Dev

AndroidStudioでのJacocoコードカバレッジ

分類Dev

リモートマシンのJacocoコードカバレッジ

分類Dev

ブロックカバレッジとブランチカバレッジの違いは何ですか?

分類Dev

コマンドラインでのJacocoレポート

分類Dev

ispartaを使用してカルマのコードカバレッジからjqueryなどのサードパーティのインポートを除外するにはどうすればよいですか?

分類Dev

一部の除外されたクラスとjacocoプラグインで最小カバレッジを確認するにはどうすればよいですか?

分類Dev

SonarQube Jacocoオフラインインストルメンテーションは、Mavenマルチモジュールプロジェクトで0%のカバレッジを示しています

分類Dev

JaCoCo Jenkinsレポートにインストラクションカバレッジのみが表示されるのはなぜですか?

分類Dev

PHPコマンドラインから最大のデバッグ/ログレベル出力を設定するにはどうすればよいですか?

分類Dev

SonarはコードカバレッジにJacocoプラグインを使用していますか

分類Dev

dotCoverコマンドラインツール(JetBrains)を使用したユニットテストカバレッジ-このツールをx64 dllテストで実行することは可能ですか?

分類Dev

Eclipse(EclEmma / JaCoCo)コードカバレッジで実行すると、ByteBuddyのリセットが失敗する

分類Dev

Jestカバレッジ(イスタンブール)がこのVueコンポーネントメソッドで0ブランチを測定するのはなぜですか?

分類Dev

JacocoプラグインがカバレッジなしのJUnit5で失敗する

分類Dev

PhpStormのコードチェッカーはコマンドラインから実行できますか?

分類Dev

Webpackを使用したカルマ:イスタンブールのカバレッジは100%(0/0)です

分類Dev

Jenkins wiht Coberturaのソースコードでコードカバレッジを表示する(他のマシンからの実行結果)

分類Dev

Jestがこのコードで75%のブランチカバレッジを示す原因は何ですか?

分類Dev

トラップコマンドの信号0とは何ですか?

分類Dev

コマンドラインからセットアッププロジェクト(vdproj)をビルドするときにMSIのバージョン番号を設定することはできますか?

分類Dev

ソフトウェアマネージャーから古いバージョンのgccコンパイラをインストールし、プレーンな「gcc」コマンドで使用するにはどうすればよいですか?

分類Dev

パッケージのないWindowsでコマンドラインからJUnitテストを実行するにはどうすればよいですか?

Related 関連記事

  1. 1

    GradleのmutlimoduleプロジェクトでJacocoオフライン計測とのクロスモジュールのコードカバレッジ

  2. 2

    JaCoCo mavenプラグインを使用してSonarQubeのコードカバレッジのファイルを除外するにはどうすればよいですか

  3. 3

    コマンドラインからmain(String [])以外のJavaメソッドを呼び出すことはできますか?

  4. 4

    リソースを試すための8つのブランチ-jacocoのカバレッジは可能ですか?

  5. 5

    -1はマジックナンバーですか?アンチパターン?コードのにおい?当局からの引用とガイドライン

  6. 6

    TomcatでJaCoCo Javaエージェントを使用してアプリケーションのコードカバレッジを取得する

  7. 7

    jacocoブランチカバレッジとソナー条件カバレッジの違いは何ですか?

  8. 8

    AndroidStudioでのJacocoコードカバレッジ

  9. 9

    リモートマシンのJacocoコードカバレッジ

  10. 10

    ブロックカバレッジとブランチカバレッジの違いは何ですか?

  11. 11

    コマンドラインでのJacocoレポート

  12. 12

    ispartaを使用してカルマのコードカバレッジからjqueryなどのサードパーティのインポートを除外するにはどうすればよいですか?

  13. 13

    一部の除外されたクラスとjacocoプラグインで最小カバレッジを確認するにはどうすればよいですか?

  14. 14

    SonarQube Jacocoオフラインインストルメンテーションは、Mavenマルチモジュールプロジェクトで0%のカバレッジを示しています

  15. 15

    JaCoCo Jenkinsレポートにインストラクションカバレッジのみが表示されるのはなぜですか?

  16. 16

    PHPコマンドラインから最大のデバッグ/ログレベル出力を設定するにはどうすればよいですか?

  17. 17

    SonarはコードカバレッジにJacocoプラグインを使用していますか

  18. 18

    dotCoverコマンドラインツール(JetBrains)を使用したユニットテストカバレッジ-このツールをx64 dllテストで実行することは可能ですか?

  19. 19

    Eclipse(EclEmma / JaCoCo)コードカバレッジで実行すると、ByteBuddyのリセットが失敗する

  20. 20

    Jestカバレッジ(イスタンブール)がこのVueコンポーネントメソッドで0ブランチを測定するのはなぜですか?

  21. 21

    JacocoプラグインがカバレッジなしのJUnit5で失敗する

  22. 22

    PhpStormのコードチェッカーはコマンドラインから実行できますか?

  23. 23

    Webpackを使用したカルマ:イスタンブールのカバレッジは100%(0/0)です

  24. 24

    Jenkins wiht Coberturaのソースコードでコードカバレッジを表示する(他のマシンからの実行結果)

  25. 25

    Jestがこのコードで75%のブランチカバレッジを示す原因は何ですか?

  26. 26

    トラップコマンドの信号0とは何ですか?

  27. 27

    コマンドラインからセットアッププロジェクト(vdproj)をビルドするときにMSIのバージョン番号を設定することはできますか?

  28. 28

    ソフトウェアマネージャーから古いバージョンのgccコンパイラをインストールし、プレーンな「gcc」コマンドで使用するにはどうすればよいですか?

  29. 29

    パッケージのないWindowsでコマンドラインからJUnitテストを実行するにはどうすればよいですか?

ホットタグ

アーカイブ