共享 gradle 文件,需要排除不使用 junit 5 的项目的 useJUnitPlatform



我在使用 junit 4 的多个项目上使用共享 gradle 文件来提高代码质量。 我正在创建一个新服务,我想在其中利用 junit 5。 我遇到的问题是,当项目具有junit-jupiter-engine依赖性时,我需要一种方法来仅包含useJUnitPlatform。 我可以通过 configuration.testCompile 获取依赖项,但我无法找到一个好的解决方案来添加一个条件,该条件将包含 useJUnitPlatform,当且仅当 junit-jupiter-engine 存在时。

我想继续使用共享的 gradle 文件来提高代码质量,并保留使用 junit4 的旧项目继续使用它,直到我决定升级。

任何想法将不胜感激。

test {
    configurations.testCompile.each { println it }
    if (???) {
        useJUnitPlatform()
    }
}

我发现了一种低效的方法:

 def junit5 = false
 configurations.testCompile.each { lib -> 
    if( lib.toString().contains("junit-jupiter-api") ) {
        junit5 = true;          
    }
 }
 if (junit5) {
 }

我一直在寻找一种更直接或更有效的方法。

相关内容

最新更新