|
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
|---|---|
| 作者 | 正文 |
|
时间:2003-12-29
ant script:
[code:1] <target name="run-tests" depends="test-compile"> <junit printsummary="yes" haltonfailure="no"> <classpath> <pathelement location="${weblogic.home}/lib/weblogic.jar"/> <pathelement location="${lib.dir}/commons-logging.jar"/> <pathelement path=""/> </classpath> <formatter type="plain"/> <batchtest fork="yes" todir="${basedir}/test-output"> <fileset dir="${src.dir}"> <include name="com/company/**/test/*.java"/> </fileset> </batchtest> </junit> </target> [/code:1] 运行现象:[code:1] [junit] Running com.company.test.FooTest [junit] java.lang.NoSuchMethodError: junit.framework.TestCase.name()Ljava/lang/String; [junit] at org.apache.tools.ant.taskdefs.optional.junit.PlainJUnitResultFormatter.startTest(PlainJUnitResultFormatter.java:188) [junit] at junit.framework.TestResult.startTest(TestResult.java:151) [junit] at junit.framework.TestResult.run(TestResult.java:103) [junit] at junit.framework.TestCase.run(TestCase.java:118) [junit] at junit.framework.TestSuite.runTest(TestSuite.java:208) [junit] at junit.framework.TestSuite.run(TestSuite.java:203) [junit] at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:231) [junit] at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:409) [junit] Exception in thread "main"[/code:1] junit 3.8.1, ant 1.6.0 & 1.5.4都出现此错误 (已将junit.jar复制到ant_home/lib) 声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |
|
时间:2003-12-29
junit.jar要加到CLASSPATH的,这个比较特殊
|
|
| 返回顶楼 | |
|
时间:2003-12-29
删除ant_home\lib\junit.jar;加junit.jar到系统的CLASSPATH
但是,还是不行,错误依旧。 |
|
| 返回顶楼 | |
|
时间:2003-12-29
看样子是 Ant 的 optional 包与 JUnit 版本不匹配,换一个老一些的 junit.jar(比如 Eclipse 中带的)试一下。
|
|
| 返回顶楼 | |
|
时间:2003-12-29
多谢dlee! 我会试一下
|
|
| 返回顶楼 | |
|
时间:2003-12-30
终于有结果了
换junit 3.7,测试程序可以运行,但是,TestCase必须重写那个带String参数的构造器才能通过编译(在junit 3.8.1下没有这个问题,先前我们的TestCase都没有这样做) 而用junit 3.8.1的话,不管是否重写构造器,总是会出NoSuchMethodError -_-b 很想知道dlee、wangzy是用的那个版本的junit和ant,这么古怪的问题竟然被我撞到,被折腾的好苦啊! |
|
| 返回顶楼 | |
|
时间:2003-12-30
muziq 写道 很想知道dlee、wangzy是用的那个版本的junit和ant,这么古怪的问题竟然被我撞到,被折腾的好苦啊!
我直接用 Eclipse 自带的。他们测试过,在一起用肯定没问题。 |
|
| 返回顶楼 | |
|
时间:2003-12-30
Eclipse自带的junit就是3.8.1的,昨天拿出来试了一下,一样出错。
|
|
| 返回顶楼 | |
|
时间:2003-12-30
Eclipse 中做单元测试是不依赖 Ant 的,他们可能没有测试过。单元测试可以直接在 Eclipse 中运行 TestSuite 或者在命令行使用 Ant 运行。Eclipse 中做自动测试的插件早就有了,可能比直接用 Ant 运行更方便。不过目前用 Ant 运行已经足够了。
|
|
| 返回顶楼 | |
|
时间:2003-12-30
是啊!先前我们都是用IDEA的插件运行单元测试的,这几天正打算拿ant做集成测试,自动checkout、编译、部署、测试,最后自动把测试报告发email出去,现在已经都可以走的通了,邮箱里的测试报告很漂亮(看到它的时候真的很有满足感:)),只是已有的测试类必须全部加一遍构造器,这个比较烦!
|
|
| 返回顶楼 | |








