8

Antタスクを次のように構成しました

<target name="test" depends="init">
    <jacoco:coverage destfile="target/jacoco.exec">
        <junit printsummary="yes" haltonfailure="yes" fork="yes" forkmode="once">
            <classpath refid="my_project.path"/>
            <formatter type="plain"/>
            <formatter type="xml"/>
            <batchtest fork="false" todir="target/test-reports">
                <fileset dir="test">
                    <include name="**/*Test.java"/>
                </fileset>
            </batchtest>
        </junit>
    </jacoco:coverage>
</target>

これにより、期待されるjunit結果が生成されます。ただし、target/jacoco.execは作成されません。ant test reportタスクの実行中にエラーはありません。

test: [jacoco:coverage] カバレッジでjunitを強化する

...

[junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 0,009 sec

report: [jacoco:report] 実行データファイル読み込み中 /home/usr/Workspaces/my_project/target/jacoco.exec

ビルドに失敗しました /home/usr/Workspaces/my_project/build.xml:73: 実行データ ファイルを読み取れません /home/usr/Workspaces/my_project/target/jacoco.exec

合計時間: 14 秒

私は何かが欠けているようで、正確に何が見えるかわかりません。

4

3 に答える 3

11

原因がわかりました。ばかげていますが、エラーを示すログはありませんでした:

batchtest fork="true" todir="target/test-reports"

バッチテストで fork パラメータが false に設定されました。「true」に戻すと、予想されるjacoco.execが生成されます。

于 2013-04-04T13:10:25.067 に答える
1

タスクを単独で実行するreportだけでは不十分です。coverageカバレッジ データをファイルに記録できるようにするには、Ant タスクを構成して実行する必要がありjacoco.execます。こちらをご覧ください

于 2013-04-04T10:05:52.917 に答える