我有一个 gradle 项目,它在 build/libs 文件夹中生成一个 jar ( myFoo.jar )。 我有一些 JUnit 测试来测试 myFoo.jar 中的类。 JUnits 运行良好,除了运行测试时,测试在类路径中使用 bin/运行,并且类加载器并未真正加载 build/libs/myFoo.jar。相反,测试在类路径中使用 bin/运行。因此,除了少数之外,JUnit 都通过了。
我的一个测试验证了 jar 中资源文件夹下的一些文件,并且这些测试因运行“测试”任务而失败。
有没有办法让 gradle 测试任务从类路径中删除 bin/并改为包含 build/libs/myFoo.jar ?
最佳答案
Id 使用以下代码来解决该问题。此语句修改测试的类路径,并在类路径之前添加 gradle 创建的 jar。
test {
classpath = "$buildDir/libs/"+jar.archiveName,
"$buildDir/classes/test",
configurations.runtime
}
Gradle 论坛 https://discuss.gradle.org/t/force-junit-gradle-task-to-use-the-jar-build-in-the-project/18543了解详情。
关于java - 强制 JUnit gradle 任务在项目中使用 jar 构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38376088/