平鍋です.
質問です,栗原さん作の,
http://objectclub.esm.co.jp/eXtremeProgramming/antdoc/PracticeAnt/ant_frameset.html
で,「Antによるユニットテストの自動化&レポート集計」が解説
されています.
JUnit のテスト結果を,XMLにするところまでは出来たのですが,
それを Xalan で HTML 整形することで失敗してしまいます.
> --- 上記 URL より----
> 次に,XML形式で出力されたテスト結果を,HTML形式で集計するた
> めに必要となる,Xalan1を手に入れる必要があります.The Apache
> XML Project(http://xml.apache.org/xalan/)のサイトから,
> Xalan1のアーカイブをダウンロードしてきます.(現在のバージョ
> ンのAntでは,JUnitReportタスクでXalan2はサポートされていない
> ようです.Xalan1 compatibility jar of Xalan2ならOKのようです
> が,試したことはありません.)
現在,Xalan1 のサイトは既に閉じられており,Xalan-Java 2 のサイトか
ら,xalanj1compat.jar, xalan.jar, xerces.jar を取って来てな
んとかしようとしていますが,うまく行きません.どなたかうまく
行った方,いらっしゃいますか?
現象としては,以下です.
以上よろしくお願いします.
=======
build.xml に
<target name="testReport" depends="model">
<mkdir dir="TestResult"/>
<junit fork="yes" printsummary="yes" haltonfailure="no" dir="TestResult">
<classpath>
<pathelement path="${java.class.path}"/>
<pathelement location="."/>
</classpath>
<formatter type="xml"/>
<batchtest fork="yes" todir="TestResult">
<fileset dir=".">
<include name="model/*Test.java"/>
</fileset>
</batchtest>
</junit>
<junitreport todir="TestResult">
<fileset dir="TestResult">
<include name="TEST-*.xml"/>
</fileset>
<report format="frames" todir="TestResult"/> <=★ 170行目
</junitreport>
</target>
====
として testReport ターゲットを作っています.で,ant testReport とすると,
Buildfile: build.xml
BUILD FAILED
build.xml:170: java.lang.VerifyError: (class: org/apache/tools/ant/taskdefs/optional/junit/AggregateTransformer, method: getXSLStreamSource signature: (Ljava/lang/String;)Lorg/apache/xalan/xslt/XSLTInputSource;) Incompatible object argument for function call
--- Nested Exception ---
java.lang.VerifyError: (class: org/apache/tools/ant/taskdefs/optional/junit/AggregateTransformer, method: getXSLStreamSource signature: (Ljava/lang/String;)Lorg/apache/xalan/xslt/XSLTInputSource;) Incompatible object argument for function call
at org.apache.tools.ant.taskdefs.optional.junit.XMLResultAggregator.createReport(XMLResultAggregator.java:114)
at java.lang.reflect.Method.invoke(Native Method)
at org.apache.tools.ant.IntrospectionHelper$1.create(IntrospectionHelper.java:167)
at org.apache.tools.ant.IntrospectionHelper.createElement(IntrospectionHelper.java:275)
at org.apache.tools.ant.ProjectHelper$NestedElementHandler.init(ProjectHelper.java:535)
at org.apache.tools.ant.ProjectHelper$TaskHandler.startElement(ProjectHelper.java:499)
at org.apache.xerces.parsers.SAXParser.startElement(SAXParser.java:1335)
at org.apache.xerces.validators.common.XMLValidator.callStartElement(XMLValidator.java:840)
at org.apache.xerces.framework.XMLDocumentScanner.scanElement(XMLDocumentScanner.java:1853)
at org.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.dispatch(XMLDocumentScanner.java:1234)
at org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner.java:381)
at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:948)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:345)
at org.apache.tools.ant.ProjectHelper.parse(ProjectHelper.java:117)
at org.apache.tools.ant.ProjectHelper.configureProject(ProjectHelper.java:85)
at org.apache.tools.ant.Main.runBuild(Main.java:403)
at org.apache.tools.ant.Main.main(Main.java:149)
Total time: 2 seconds
以上です.