配置Ant以使用JUnit 4

时间:2014-11-10 16:44:24

标签: java eclipse ant junit

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

我有一个简单的JUnit测试类。 Eclipse为我提供了两个在运行配置窗口中运行Run as JUnit Test中的测试类的选项,我看到了测试运行器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.错误。

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

修改

我刚刚将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

3 个答案:

答案 0 :(得分:1)

你必须确保你在Ant lib文件夹中有JUnit 4。 请看一下这个问题:Running "pure" JUnit 4 tests using ant

答案 1 :(得分:1)

对于其他人的帮助,

Ant默认使用Junit3测试运行器。我无法在ant Junit任务中指定测试运行器。我使用了来自this帖子的解决方法。

感谢@AlexanderMiles

答案 2 :(得分:1)

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

  

&lt; junit&gt; task支持嵌套的&lt; classpath&gt;代表的元素   一种类似PATH的结构。

     

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

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

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