test/resourcesに依存したテストを書いている場合、
./gradlew test
だとテストが成功するが、
./gradlew cobertura
だとテストが成功しない。
./gradlew coberturaの時は、どうやらリソースを見に行ってくれる先が、$buildDir/instrumented_classes
になっているらしい。
$buildDir/instrumented_classes
にクラスを持って行ったりとかはcoberturaReportタスクでしているカバレッジリポートを取得するための準備作業らしいのだけれども、コレが原因でJenkinsさんが怒りまくるので、以下をtestタスクに書いて回避した。
訂正)間違えてた。。。アクションになってないからClearしちゃうとダメになってました。
def instDir = "$buildDir/instrumented_classes"
task setInstResources(){
dependsOn 'testClasses'
}
setInstResources << {
copy{
from sourceSets.test.output.resourcesDir
into instDir
}
}
test {
dependsOn 'setInstResources'
useJUnit()
}