Ant to Gradle: JUnit (4.11) 测试转换

Ant to Gradle: JUnit (4.11) Test conversion

我对 JUnit 不是很熟悉,但我正在尝试将使用 junit 的 ant 目标转换为 gradle 等价物。它不会那么热,因为我在 gradle 方面遇到了一些失败——我的印象是它是由于未找到输入 somehow/somewhere,但我无法确认,因为它不容易出现在 ant 目标中。

这是 ant 脚本:

<target name="testing">
    <junit printsummary="yes" showoutput="yes">
       <classpath refid="classpath"/>
       <formatter type="xml"/>
       <batchtest fork="yes" todir="someOutputLocation">
          <fileset dir="${base}/testCode">
             <include name="**/included.java"/>
             <exclude name="**/excluded.java"/>
          </fileset>
       </batchtest>
    </junit>
</target>

这是我的 gradle 尝试的(变体之一):

task testing(type:Test){
    useJUnit()
    testClassesDir = file("testCodeCompiled")
    include '**/included.class'
    exclude '**/excluded.class'
    classpath = classpath
}

我得到的两个错误:

 junit.framework.AssertionFailedError
 java.lang.NullPointerException

AssertionFailedError 应该是由多个 JUnit 依赖项引起的,但我没有。我只导入本地版本的junit-4.11.

我真的不知道为什么它不起作用,但我怀疑这是由于 gradle 的某些复杂性造成的。我见过人们提到一个 ant-junit 库,我可能会尝试使用它至少从 gradle.

中复制结果

编辑: 一个想法出现了:我在 gradle 的一些 src 文件中找到了 JUnit。通过调用 useJUnit(),我可以改用它吗?如果是这样,毕竟可能存在双重依赖? 不。 分别摆脱了 useJUnit() 和本地 jar。前者表现如初,后者爆发

更多信息:原因可能是 compiledTestCode 缺少 testCode 包含的几个 directories/data。我可能必须复制相关文件。或者,有没有办法让 gradle 的 JUnit 使用 .java 文件而不是 .class?

对于那些想知道的人,代码很好。我就是傻