目前我想在Jenkins获得测试结果。我正在处理的唯一问题是我可以从我的Junit测试中获取XML报告。所以我的问题是:
是否有可能与Jenkins一起开始测试并获得结果?
或者是否可以使用Ant生成xml报告,以及如何生成?因为我有这个,但不理解它100%:
我测试的路径:
我的图书馆的路径:
我从JUnit网站获取此代码:http://junit.sourceforge.net/doc/faq/faq.htm#running_6
我理解以下内容:
${test.reports}
=您希望测试报告的位置
${classes}
= .java文件已构建为.class文件的bin目录。是否也可以将它们转发到.java文件?
但我不知道如何处理以下事项:
<classpath refid="test.classpath" />
谢谢!
更新
他找到了我的3个测试类并且他建立了一个报告,但我在报告的这三个类中得到了同样的错误:
test.AllTests
java.lang.ClassNotFoundException: test.AllTests
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
这是我的build.xml代码:
<property name="basedir" value="C:/CMSdot2"/>
<property name="classes" value="C:/CMSdot2/dotCMS/WEB-INF/classes/nl/company/dotcms/plugin"/>
<property name="test.reports" value="${basedir}/dotCMS/"/>
<target name="test-html">
<junit fork="yes" printsummary="no" haltonfailure="no">
<batchtest fork="yes" todir="${test.reports}" >
<fileset dir="${classes}">
<include name="**/*Test*.class" />
</fileset>
</batchtest>
<formatter type="xml" />
<classpath id="test.classpath">
<pathelement location="lib/junit-4.10.jar"/>
</classpath>
</junit>
<junitreport todir="${test.reports}">
<fileset dir="${test.reports}">
<include name="TEST-*.xml" />
</fileset>
<report todir="${test.reports}" />
</junitreport>
</target>
答案 0 :(得分:1)
${classes}
指向类。 Java需要类来执行program / junit,因此.java
文件不会这样做。如果您有运行测试所需的外部库(如log4j或apache commons),则需要<classpath refid="test.classpath" />
来包含您的类和任何eyternal库。例如:
<classpath id="test.classpath">
<pathelement location="${classes}" />
<pathelement location="lib/ther.jar"/>
</classpath>