Gradle 抱怨 TestNG 任务的 JUnit 版本

Gradle complains about JUnit version on TestNG task

中所述,我在 gradle 与 TestNG 良好配合时遇到了一些问题。无论我尝试什么,似乎都没有执行任何测试。所以我去尝试使用 --tests 命令行参数强制 gradle 执行特定测试。

但是,当我 运行 这样做时,构建失败并显示以下消息: Test filtering is not supported for given version of JUnit. Please upgrade JUnit version to at least 4.6.

现在我知道 TestNG 是基于 JUnit 的,所以它可能与我之前的问题无关,但是这个表明的 TestNG 是否有可能实际上从未真正被使用过?它是否试图 运行 测试作为 JUnit 测试?我怎么知道?

作为奖励:如何升级使用过的 JUnit 版本?我只包括 testng:

    dependencies {
        compile 'javax.inject:javax.inject:1'
        compile 'org.springframework:spring-context:4.1.4.RELEASE'
        compile 'org.springframework:spring-core:4.1.4.RELEASE'
        compile 'org.springframework:spring-beans:4.1.4.RELEASE'
        compile 'org.springframework.data:spring-data-mongodb:1.6.1.RELEASE'
        compile 'org.springframework.data:spring-data-jpa:1.7.1.RELEASE'
        compile 'org.hibernate:hibernate-entitymanager:4.3.8.Final'
        compile 'mysql:mysql-connector-java:5.1.34'
        compile 'commons-logging:commons-logging:1.2'
        testCompile 'org.springframework:spring-test:4.1.4.RELEASE'
        testCompile 'org.testng:testng:6.1.1'
    }
}

事实证明,确实从未使用过TestNG。我们有一个多项目构建,子项目意外地仍然配置为使用 JUnit。参见