2013-05-28 102 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和也我受到了很多队友确实有同样的问题,这个解决方案为所有的)

问候