2013-05-28 129 views
1

當我嘗試構建沒有junitreport時,它的工作正常。但是,我最終需要使用html格式的junit報告以及所有成功或失敗的腳本。請建議我去哪裏錯了。任何幫助,將不勝感激。在Ant構建中出現錯誤junitreporting

<?xml version="1.0" encoding="UTF-8" standalone="no"?> 
<!-- WARNING: Eclipse auto-generated file. 
       Any modifications will be overwritten. 
       To include a user specific buildfile here, simply create one in the same 
       directory with the processing instruction <?eclipse.ant.import?> 
       as the first entry and export the buildfile again. --> 
<project basedir="." default="build" name="JavaP"> 
    <property environment="env"/> 
    <property name="junit.output.dir" value="junit"/> 
    <property name="debuglevel" value="source,lines,vars"/> 
    <property name="target" value="1.6"/> 
    <property name="source" value="1.6"/> 
    <path id="JavaP.classpath"> 
     <pathelement location="bin"/> 
     <pathelement location="../../Sel JAR/junit-4.8.1.jar"/> 
     <pathelement location="../../Sel JAR/jxl.jar"/> 
     <pathelement location="../../Sel JAR/poi-3.7.jar"/> 
     <pathelement location="../../Sel JAR/reportng-1.1.3.jar"/> 
     <pathelement location="../../Sel JAR/selenium-java-2.29.0.jar"/> 
     <pathelement location="../../Sel JAR/selenium-server-2.29.0.jar"/> 
     <pathelement location="../../Sel JAR/selenium-server-standalone-2.29.0.jar"/> 
     <pathelement location="../../Sel JAR/testng-6.5.2.jar"/> 
    </path> 
    <target name="init"> 
     <mkdir dir="bin"/> 
     <copy includeemptydirs="false" todir="bin"> 
      <fileset dir="src"> 
       <exclude name="**/*.launch"/> 
       <exclude name="**/*.java"/> 
      </fileset> 
     </copy> 
    </target> 
    <target name="clean"> 
     <delete dir="bin"/> 
    </target> 
    <target depends="clean" name="cleanall"/> 
    <target depends="build-subprojects,build-project" name="build"/> 
    <target name="build-subprojects"/> 
    <target depends="init" name="build-project"> 
     <echo message="${ant.project.name}: ${ant.file}"/> 
     <javac debug="true" debuglevel="${debuglevel}" destdir="bin" source="${source}" target="${target}" includeantruntime="false"> 
      <src path="src"/> 
      <classpath refid="JavaP.classpath"/> 
     </javac> 
    </target> 
    <target description="Build all projects which reference this project. Useful to propagate changes." name="build-refprojects"/> 
    <target description="copy Eclipse compiler jars to ant lib directory" name="init-eclipse-compiler"> 
     <copy todir="${ant.library.dir}"> 
      <fileset dir="${ECLIPSE_HOME}/plugins" includes="org.eclipse.jdt.core_*.jar"/> 
     </copy> 
     <unzip dest="${ant.library.dir}"> 
      <patternset includes="jdtCompilerAdapter.jar"/> 
      <fileset dir="${ECLIPSE_HOME}/plugins" includes="org.eclipse.jdt.core_*.jar"/> 
     </unzip> 
    </target> 
    <target description="compile project with Eclipse compiler" name="build-eclipse-compiler"> 
     <property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter"/> 
     <antcall target="build"/> 
    </target> 
    <target name="JavaP"> 
     <mkdir dir="${junit.output.dir}"/> 
     <junit fork="yes" printsummary="withOutAndErr"> 
      <formatter type="xml"/> 
      <test name="seleniumtest.Helloworld" todir="${junit.output.dir}"/> 
      <test name="seleniumtest.Testclass" todir="${junit.output.dir}"/> 
      <classpath refid="JavaP.classpath"/> 
     </junit> 
    </target> 
    <target name="junitreport"> 
     <junitreport todir="${junit.output.dir}"> 
      <fileset dir="${junit.output.dir}"> 
       <include name="TEST-*.xml"/> 
      </fileset> 
      <report format="frames" todir="${junit.output.dir}"/> 
     </junitreport> 
    </target> 
</project> 

錯誤詳細信息

Buildfile: D:\Seljava\JavaP\build.xml 
build-subprojects: 
init: 
build-project: 
    [echo] JavaP: D:\Seljava\JavaP\build.xml 
build: 
junitreport: 
[junitreport] Processing D:\Seljava\JavaP\junit\TESTS-TestSuites.xml to C:\Users\nitinl\AppData\Local\Temp\null1642041795 
[junitreport] Loading stylesheet jar:file:/D:/Eclipse-Workspace/eclipse/plugins/org.apache.ant_1.8.2.v20120109-1030/lib/ant-junit.jar!/org/apache/tools/ant/taskdefs/optional/junit/xsl/junit-frames.xsl 
[junitreport] : Error! The first argument to the non-static Java function 'replace' is not a valid object reference. 
[junitreport] : Error! Could not compile stylesheet 
[junitreport] : Fatal Error! Could not compile stylesheet Cause: Cannot convert data-type 'void' to 'reference'. 
[junitreport] Failed to process D:\Seljava\JavaP\junit\TESTS-TestSuites.xml 

BUILD FAILED 
D:\Seljava\JavaP\build.xml:70: Errors while applying transformations: Fatal error during transformation 

Total time: 450 milliseconds 

回答

2

我有同樣的問題,升級從Java 6到Java 7中,我能夠通過使用Ant 1.9.0在命令行運行ant要解決該問題後, 。

不幸的是,在Eclipse中切換到Ant 1.9.0(根據這些指令:How to upgrade the ant built into eclipse?)沒有解決在Eclipse中運行Ant時的問題,但在命令行上運行正常,所以這就是我正在使用的。

0

我從螞蟻1.8.4和Java 5或6
它的命令行,螞蟻1.7.0工程日食開普勒運行相同的問題,與Java 5或6

0

這是裏面的螞蟻一個問題...

你可以從螞蟻的主頁下載兩個jar解決這個問題: org.apache.xalan org.apache.xml.serializer

這些文件放在下面 C:\ Windows \ Sun \ Java \ lib \ ext in我的情況下lib和ext文件夾不存在 如果是這種情況只是創建它們。 重啓eclipse,一切都會正常工作。 (它爲我做了這麼兩個PC和也我受到了很多隊友確實有同樣的問題,這個解決方案爲所有的)

問候