我有一个gradle项目,它在build / libs文件夹中生成一个jar(myFoo.jar)。 我有一些JUnit测试来测试myFoo.jar中的类。 JUnits运行正常,除了运行测试时,测试在类路径中使用bin /运行,而类加载器并没有真正加载build / libs / myFoo.jar。而是在类路径中使用bin /运行测试。所以除了少数几个JUnits通过。
我的一个测试验证了jar中资源文件夹下的一些文件,并且这些测试在测试失败时失败了。任务运行。
有没有办法让gradle测试任务从类路径中删除bin /而是包含build / libs / myFoo.jar?
答案 0 :(得分:0)
我使用以下代码来解决问题。此语句修改测试的类路径,并在jar gradle创建的类路径之前。
test {
classpath = "$buildDir/libs/"+jar.archiveName,
"$buildDir/classes/test",
configurations.runtime
}
Gradle Fourm https://discuss.gradle.org/t/force-junit-gradle-task-to-use-the-jar-build-in-the-project/18543了解详情。