Gradle 7 + Spock 2で機能テストが動作しない

ソフトウェア開発

Gradle 6.xで動作していたプロジェクトの機能テストがGradle 7.xに移行したら突然無条件でパスするようにりました。また、IntelliJ IDEAからも機能テストが実行できなくなり、エラーメッセージもテストが見つからないとか、、、

これまで動作していた build.gradle の記述も見直しましたが、気になるところを見つけられず、ググっても見つけられず、、、初心に立ち返り、本家ドキュメントを見直しました。

ドキュメント内のサンプルと見比べても大きな違いはなかったのですが、機能テストのタスク定義に useJUnitPlatform() を追加することで機能テストが動作するようになりました。

Groovy:

tasks.withType(Test).configureEach {
    useJUnitPlatform()
}

6.xでは、テストタスクの定義(useJUnitPlatformを含む)が機能テストにも暗黙的に引き継がれていたのかもしれないです。こういう問題が対策しにくく一番困ります。。。

コメント