免責事項: 私は Java と emma を初めて使用します。詳細:
- 私は emma をインストールし、いくつかの例を試しました。問題はありません。
- カバレッジ レポートを取得したい多数のファイルを含む Java プロジェクトがあります。
- 「javac -d out *.java」と入力します。エラーなし。
- 「java -cp out Main」と入力します。プログラムは正常に実行され、期待される出力が得られます。
「java emmarun -cp out Main」と入力します。私は以下を取得します:
emmarun: [MAIN_METHOD_NOT_FOUND] アプリケーション クラス [Main] には、実行可能な public main() メソッドがありません スレッド "main" com.vladium.emma.EMMARuntimeException で例外: [MAIN_METHOD_NOT_FOUND] アプリケーション クラス [Main] には、実行可能な public main() メソッドがありません) com.vladium.emma.rt.AppRunner._run(AppRunner.java:546) のメソッド com.vladium.emma.rt.AppRunner.run(AppRunner.java:97) の com.vladium.emma.runCommand.run のメソッド(runCommand.java:247) emmarun.main(emmarun.java:27) で 原因: java.lang.IllegalAccessException: Class com.vladium.emma.rt.AppRunner$Invoker can't access a member of class s Main with modifiers java.lang.reflect.AccessibleObject.slowCheckMemberAccess (不明なソース) の sun.reflect.Reflection.ensureMemberAccess (不明なソース) の "public static"。reflect.AccessibleObject.checkAccess(不明なソース) の java.lang.reflect.Method.invoke(不明なソース) com.vladium.emma.rt.AppRunner$Invoker.run(AppRunner.java:655) で java.lang.Thread .run(不明なソース)
私の「Main.java」ファイルは次のようになります。
public class Main {
public static void main( String[] args ) {
NetworkSimplexTest nst = new NetworkSimplexTest();
nst.test();
}
}
すべてのコードを投稿しますが、かなり長いです。私が試した単純な例は問題なく動作します。例のように、emma は自動的に計測し、カバレッジ レポートを作成します。
エマは私の「メイン」を見つけることができないようですが、通常の Java は見つけることができます。私は何が欠けていますか?