强制JUnit gradle任务使用项目中的jar构建

时间:2016-07-14 13:51:15

标签: java eclipse gradle junit jar

我有一个gradle项目,它在build / libs文件夹中生成一个jar(myFoo.jar)。 我有一些JUnit测试来测试myFoo.jar中的类。 JUnits运行正常,除了运行测试时,测试在类路径中使用bin /运行,而类加载器并没有真正加载build / libs / myFoo.jar。而是在类路径中使用bin /运行测试。所以除了少数几个JUnits通过。

我的一个测试验证了jar中资源文件夹下的一些文件,并且这些测试在测试失败时失败了。任务运行。

有没有办法让gradle测试任务从类路径中删除bin /而是包含build / libs / myFoo.jar?

1 个答案:

答案 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了解详情。