配置Ant以使用JUnit 4

我用Google搜索,但我找不到任何帮助。

我有一个简单的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文件夹复制到我的classpath。 这表明[junit] Could not find the main class: org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner. Program will exit. [junit] Could not find the main class: org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner. Program will exit. 错误。

我也尝试过JUnit4 Ant任务。 它显示没有Junit4 ant任务。 帮帮我?

编辑:

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

编辑

我尝试从命令运行如下:

  `java -classpath  org.junit.runner.JUnitCore com.my.TestClass` 

它工作正常。 如何强制ant Junit任务使用此类org.junit.runner.JUnitCore

你必须确保你在Ant lib文件夹中有JUnit 4。 请看一下这个问题: 使用ant运行“纯”JUnit 4测试

为了别人的帮助,

Ant默认使用Junit3测试运行器。 我无法在ant Junit任务中指定测试运行器。 我在这篇文章中使用了解决方法。

谢谢@AlexanderMiles

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

任务支持嵌套的元素,该元素表示类似PATH的结构。

从Ant 1.7开始,此类路径可用于引用junit.jar以及您的测试和测试代码。

这是我指向正确版本的junit.jar文件的地方。

使用依赖管理器工具,例如Ivy或Maven(是的,你可以只使用Maven用于依赖)在这里会有所帮助,所以你不必将正确版本的二进制junit jar文件提交到你的代码库。