Gradle为scala和java测试分别测试类路径依赖项

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Gradle为scala和java测试分别测试类路径依赖项相关的知识,希望对你有一定的参考价值。

我在我的Java测试中使用Mockito,并进行了一些Scala测试。如果我包含Scala testCompile依赖项,那么Mockito在IntelliJ中运行时无法创建间谍,并且我得到ClassCastException异常。

我可以将scala和java测试分开,因此java测试有一些依赖项,而scala有其他依赖项吗?

答案

如果您不必在同一版本中运行所有测试,则可以使用依赖关系配置文件。让我们说scalaTestsjavaTests。 您可以将测试依赖项分组,如下所示

dependencies {
    ....
    if (project.hasProperty('scalaTests')) {
        //scala test dependencies here
    }
    else if (project.hasProperty('javaTests'))
       //java test dependencies here
    }
 }

使用Scala配置文件时也必须运行Scala测试(对于java测试也是如此)您可以使用scalaTests配置文件运行gradle,如gradle -PscalaTests ..(对于java情况也是如此)

用于运行特定测试

How to run only one test class on gradle

Gradle run only one test suite

有关个人资料详情

https://gist.github.com/szpak/1499336

Maven profiles equivalent of Gradle

以上是关于Gradle为scala和java测试分别测试类路径依赖项的主要内容,如果未能解决你的问题,请参考以下文章

gradle和maven有啥用?分别有啥区别

Gradle - 源代码和测试的不同 JDK 版本

scala maven sbt 哪个

如何在 sbt 中运行 java/scala 单元测试

在gradle项目的子模块中进行E2E测试

使用 Java 7 编译我的项目,但使用 Java 8 在 Gradle 中运行我的测试