我用Google搜索了,但我找不到任何帮助。
我有一个简单的JUnit测试类。 Eclipse为我提供了两个在运行配置窗口中运行Run as JUnit Test
中的测试类的选项,我看到了测试运行器JUnit 3
或JUnit 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
?
答案 0 :(得分:1)
你必须确保你在Ant lib文件夹中有JUnit 4。 请看一下这个问题:Running "pure" JUnit 4 tests using ant
答案 1 :(得分:1)
答案 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文件提交到你的代码库。