gpt4 book ai didi

unit-testing - 当测试基础结构位于src/test/java文件夹中的其他项目中时,带有gradle的UnitTest

转载 作者:行者123 更新时间:2023-12-03 06:16:05 25 4
gpt4 key购买 nike

有两个Java项目A和B,构建引擎是gradle。

那是一个多项目,A取决于B

答:build.gradle

...
dependencies {
compile project (':B')
}
...

B在 src/main/java中具有核心代码,在 src/test/java中具有测试代码。 src/test/java中还包含一些测试基础结构类,例如加载测试数据。
gradle :B:test工作正常

A-Project中的测试使用B-Project中的测试基础结构类,这对于eclipse来说是可行的,但对于gradle而言则不是。因为在B-Project上构建的jar文件依赖项仅包含 src/main/java中的类。

我们得到了错误:
com.aaa.SomeClassFromAAAA.java:42: error: cannot find symbol
import com.bbb.InfrastructureTestClassFromBBB;

解决办法是什么?

最佳答案

在Gradle论坛here上对此进行了讨论。这个想法是用您的测试类构建JAR,并使它对您的A项目可见。也有注释说明为什么这对于IDE来说很困难。

另一种方法是将测试基础结构类移到另一个项目的主要源中。假设它们不依赖于A的主要来源。您可以在Gradle的代码库(https://github.com/gradle/gradle/tree/master/subprojects中的int*-test*文件夹)中看到类似的内容。

关于unit-testing - 当测试基础结构位于src/test/java文件夹中的其他项目中时,带有gradle的UnitTest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30725201/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com