これは grails にありますが、grails に固有のものは何も当てはまらないと思います。
次のような Gant スクリプトがあります。
includeTargets << grailsScript( "Init" )
includeTargets << grailsScript( "TestApp" )
target(main: "run tests with jacoco code coverage...") {
taskdef ( name:'coverage', classname:'org.jacoco.ant.CoverageTask', classpathref:'core.classpath' )
coverage(*** NEED TO PUT RUN-TESTS TASK HERE ***)
}
setDefaultTarget(main)
アイデアは、jacoco コード カバレッジでいくつかの単体テストを実行しようとしているということです。テストを実行するターゲットは TestApp.groovy ( allTests() ) で定義されており、インポートして問題なく実行できますが、jacoco のカバレッジ タスクでは allTests() タスクを子タスクとして追加する必要があります。テストを実行するには、タスクを「ラップ」する必要があります。私がやろうとしていることに相当する Ant xml は次のとおりです。
<jacoco:coverage>
<taskToRunTheTests ... >
< ... setup ... >
</taskToRunTheTests>
</jacoco:coverage>
だから私が探しているのは、Gant で、ターゲット定義からタスクを取得し、それをカバレッジ タスクに渡す方法だと思います (coverageTask.addChild(theRunTestsTask) ... coverageTask.execute( を実行できます)。 ) 必要であれば)。
これはあいまいなものです。誰かが私たちを助けてくれることを願っています。