我一直在摸不着头脑一段时间(谷歌搜索了一堆,看了看其他相关的SO帖子无济于事).我有一个由两个文件组成的Java程序,Logic和Tests.Tests包含大约一百个JUnit测试,我通过调用javac *.java后跟所述测试获得了100%的成功率java org.junit.runner.JUnitCore Tests.但是,当我build.xml用一个简单的方式运行我ant -verbose test(为了跟随输出,因为我是所有这一切的新手),我得到以下输出:
[junit] Testsuite: Tests
[junit] Tests run: 1, Failures: 0, Errors: 1, Time elapsed: 0 sec
[junit]
[junit] Null Test: Caused an ERROR
[junit] Tests
[junit] java.lang.ClassNotFoundException: Tests
[junit] at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
[junit] at java.lang.Class.forName0(Native Method)
[junit] at java.lang.Class.forName(Class.java:247)
[junit]
[junit]
[junit] Test Tests FAILED
BUILD SUCCESSFUL
Run Code Online (Sandbox Code Playgroud)
我的build.xml情况如下:
<project name="ETL_Automation" default="test" basedir=".">
<path id="classpath.base">
</path>
<path id="classpath.test">
<pathelement location="${basedir}/mysql-connector-java-5.1.18-bin.jar" />
<pathelement location="${basedir}/junit-4.10.jar"/>
<path refid="classpath.base" />
</path>
<target name="compile">
<javac srcdir="${basedir}">
<classpath refid="classpath.test"/>
</javac>
</target>
<target name="test" depends="compile">
<junit fork="no">
<classpath refid="classpath.test" />
<formatter type="brief" usefile="false" />
<batchtest>
<fileset dir="${basedir}/" includes="Tests.class" />
</batchtest>
</junit>
</target>
<target name="clean" depends="test">
<delete>
<fileset dir="${basedir}" includes="*.class"/>
</delete>
</target>
Run Code Online (Sandbox Code Playgroud)
目录结构非常简单.Tests.java,Logic.java,junit-4.10.jar,mysql-connector-java-5.1.18-bin.jar,build.xml,和引用的.properties文件都在同一个文件夹.java代码引用外部文件,但这些文件与此特定问题无关.我不知道类路径是否可能是导致这个问题的原因(因为我非常相信我目前所拥有的功能不起作用).
谢谢!
您需要将目录添加Tests.class到classpath.tests类路径(${basedir}在您的设置中)
尝试:
<path id="classpath.test">
<pathelement location="${basedir}/mysql-connector-java-5.1.18-bin.jar" />
<pathelement location="${basedir}/junit-4.10.jar"/>
<pathelement location="${basedir}" />
<path refid="classpath.base" />
</path>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4808 次 |
| 最近记录: |