• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:AntでのJunitの試験)

AntでのJunitの試験に関するエラー

このQ&Aのポイント
  • Antのbuild.xmlを使ってJunitの試験を実行すると、エラーが発生します。
  • Eclipse上のJunitの試験では問題なく動作しているため、Javaのテストプログラムには間違いはありません。
  • エラーの原因が分かりません。xmlファイルの<junit>の書き方に問題がある可能性があります。

質問者が選んだベストアンサー

  • ベストアンサー
  • anmochi
  • ベストアンサー率65% (1332/2045)
回答No.1

EclipseのJUnit実行時に読み込まれているhamcrest coreが、antから実行する時のクラスパスに含まれていないのだろうて。 クラスパスにhamcrest coreのjarを含めてあげましょう。それはhamcrest-core-1.3.jarかも知れないし、他のバージョンかも知れないしファイル名が全然違うかも知れない。一番手っ取り早いのは必要なjarは全部プロジェクトの中に含めておく事だ。

tmiyoshi
質問者

補足

情報ありがとうございます。 ご指摘のように、EclipseのUnitテストで使っている、org.hamcrest.coreのjarファイルを build\libの下に置いて走らせるとJunitの試験はパスするようになりました。 ありがとうございました。 後、ひとつだけ分かれば教えていただきたいのですが、 現在、コマンドプロンプトのbuild.xmlが置いてあるディレクトリから、>Ant unit-test を実行すると、Junitの試験はパスして、<junitreport>の記述でテスト結果をはいてくれて全て OKなのですが、 Eclipseのアウトラインからunit-testを右クリックして->実行->Antビルド を実行させると、Junitの試験はパスするのですが、<junitreport>の所で、 Error! staticでないJava関数'replace'の最初の引数は無効なオブジェクトの参照です。 Error! スタイルシートをコンパイルできませんでした。 Fatal Error! データ型'void'を'reference'に変換できません。Cause: データ型'void'を'reference'に変換できません。 となって、テスト結果のはき出しには失敗してしまうようなのです。 コマンドプロンプトで実行した場合は、ant-1.9.2を使っているのですが、Eclipseのデフォルトの プラグインのものはant-1.8.4のものを使っているようです。 Antタスクのjunitreportが使えるAntのヴァージョンのようなものがあるのでしょうか? また、1.8.4でもjunitreportが使えるような書き方とかあるのでしょうか?