将Ant配置为使用JUnit4



我在谷歌上搜索了一下,但找不到任何帮助。

我有一个简单的JUnit测试类。Eclipse为我提供了两个选项来在run配置窗口中的Run as JUnit Test中运行测试类,我看到的是test Runner JUnit 3JUnit 4。这很好用。我的类需要使用JUnit4 runner。

现在,我正试图从Ant JUnit任务中运行这个。然而,在我看来,Ant默认使用JUnit3。我不知道如何设置它来使用JUnit4测试运行程序。我在类路径中只有JUnit4-jar文件,并且我将ant-JUnit4.jar从ant lib文件夹复制到了我的类路径中。显示[junit] Could not find the main class: org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner. Program will exit.错误。

我还尝试了JUnit4-Ant任务。这表明Junit4没有蚂蚁任务。帮助

编辑:

我只是把ant-junit4.jar放在了ant/lib文件夹中,并删除了junit任务中的incudeantruntime属性。它工作,但它再次使用Junit3。

编辑

我试着从如下命令运行:

 `java -classpath <myclasspath that has JUnit.jar as well> org.junit.runner.JUnitCore com.my.TestClass`

而且效果很好。如何强制ant Junit任务使用此类org.junit.runner.JUnitCore

如需其他帮助,

Ant默认使用Junit3测试运行程序。我无法指定ant Junit任务中的测试运行程序。我在这篇文章中使用了类似的变通方法。

感谢@AlexanderMiles

您必须确保在Ant lib文件夹中有JUnit 4。请看一下这个问题:;纯";JUnit 4使用ant 进行测试

来自junit任务的Ant手册->http://ant.apache.org/manual/Tasks/junit.html

<junit>任务支持嵌套<classpath>表示的元素类似PATH的结构。

从Ant 1.7开始,这个类路径可以用来将junit.jar引用为以及您的测试和测试的代码。

在这里,我将指向junit.jar文件的正确版本。

使用依赖关系管理器工具,如Ivy或Maven(是的,您可以仅针对依赖关系使用Maven)会很有帮助,因此您不必将正确版本的二进制junit-jar文件提交到代码库中。

最新更新