[英]Ant Junit ClassNotFoundException…again
我知道它们很多,但是我看不到解决方案,所有帮助将不胜感激。 因此,尝试执行一个ant任务来运行我的junit测试。 遇到ClassNotFoundException。
<property name="testsrc" value="${project.home}/../extensions/myaddon/testsrc"/>
<property name="src" value="${project.home}/../extensions/myaddon/src"/>
<property name="websrc" value="${project.home}/../extension/myaddon/acceleratoraddon/web/src"/>
<property name="junitLocation" value="${project.home}/../lib/junit-4.10.jar"/>
<path id="test-path">
<pathelement location="${testsrc}"/>
<pathelement location="${src}"/>
<pathelement location="${websrc}"/>
<pathelement location="${junitLocation}"/>
</path>
<!--
Batch testing
This will be used to test every test file we have rather than having to specify individual ones
-->
<target name="codtests" description="run all junit tests for myaddon">
<junit printsummary="yes" haltonfailure="no" showoutput="yes">
<classpath>
<path refid="test-path"/>
</classpath>
<batchtest>
<fileset dir="${testsrc}">
<include name="**/*Test.java" />
</fileset>
</batchtest>
</junit>
<echo message="batch testing done"/>
</target>
堆栈跟踪:
C:\tem\cnacc.cod>ant codtests
Buildfile: C:\tem\cnacc.cod\build.xml
codtests:
[junit] Running codaddon.setup.CodSetupTest
[junit] Testsuite: codaddon.setup.CodSetupTest
[junit] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0 se
c
[junit] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0 se
c
[junit]
[junit] Caused an ERROR
[junit] codaddon.setup.CodSetupTest
[junit] java.lang.ClassNotFoundException: codaddon.setup.CodSetupTest
[junit] at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
[junit] at java.lang.Class.forName0(Native Method)
[junit] at java.lang.Class.forName(Class.java:270)
[junit]
[junit] Test codaddon.setup.CodSetupTest FAILED
[junit] Running codaddon.setup.FakeTest
[junit] Testsuite: codaddon.setup.FakeTest
[junit] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0 se
c
[junit] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0 se
c
[junit]
[junit] Caused an ERROR
[junit] codaddon.setup.FakeTest
[junit] java.lang.ClassNotFoundException: codaddon.setup.FakeTest
[junit] at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
[junit] at java.lang.Class.forName0(Native Method)
[junit] at java.lang.Class.forName(Class.java:270)
[junit]
[junit] Test codaddon.setup.FakeTest FAILED
[junit] Running codaddon.test.AutoPassTest
[junit] Testsuite: codaddon.test.AutoPassTest
[junit] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0 se
c
[junit] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0 se
c
[junit]
[junit] Caused an ERROR
[junit] codaddon.test.AutoPassTest
[junit] java.lang.ClassNotFoundException: codaddon.test.AutoPassTest
[junit] at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
[junit] at java.lang.Class.forName0(Native Method)
[junit] at java.lang.Class.forName(Class.java:270)
[junit]
[junit] Test codaddon.test.AutoPassTest FAILED
[junit] Running codaddon.test.Fake2Test
[junit] Testsuite: codaddon.test.Fake2Test
[junit] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0 se
c
[junit] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0 se
c
[junit]
[junit] Caused an ERROR
[junit] codaddon.test.Fake2Test
[junit] java.lang.ClassNotFoundException: codaddon.test.Fake2Test
[junit] at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
[junit] at java.lang.Class.forName0(Native Method)
[junit] at java.lang.Class.forName(Class.java:270)
[junit]
[junit] Test codaddon.test.Fake2Test FAILED
[echo] batch testing done
BUILD SUCCESSFUL
Total time: 0 seconds
C:\tem\cnacc.cod>
是的,您应该粘贴stacktrace。 也许是一个疯狂的猜测,您在哪里定义了$ {project.home}变量? 我看到这是类路径中唯一未解决的变量。
您需要指向测试.class文件,而不是源文件。
编译测试并将文件夹添加到test-path 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.