[Seasar-user:7705] Re: S2TestCaseでのExcelデータ読み込み on Linux

松田 明 [E-MAIL ADDRESS DELETED]
2007年 5月 18日 (金) 20:04:50 JST


小林さん、本間さん

迅速で的確なご回答をありがとうございます。
こちらの件、おかげさまで無事解決いたしました。
以下、情報共有させていただきます。

> target/surefire-reports 以下に test.SimpleXlsTest.txt という
> ファイルが作成されているのではないかと思います.
> そこにスタックトレース等が出ているはずなのでそちらを
> 確認してください.

お恥ずかしながら、このファイルの存在を知りませんでした・・・。
こちら、さっそく確認してみたところ、見事に以下のエラーが出ておりました。
> org.seasar.framework.exception.ResourceNotFoundRuntimeException:
[ESSR0055]リソース(Book1.xls)が見つかりません

先ほど「Windows上では問題なく実行できている」と書きましたが、
正確には「Eclipse上では実行できている」状態だったようで、
テストのJavaソースファイルと同じディレクトリ内に .xlsファイルを置いておくと
Eclipseの自動ビルドでは targetディレクトリに勝手にコピーされるものの
Maven2の testゴール(process-test-resourcesフェーズ?)では
コピーされない、というのが原因だったようです。
MavenではJavaソース以外で生成物に含めたいファイルは全部
resourceディレクトリに置くことになっているからですね。

そこで、解決策としては、テストデータを記述した .xlsファイルは
/src/test/resourcesディレクトリ内に Java側のパッケージ構成と同じように
ディレクトリを掘ってそこに安置する、というのがFAになりそうです。
これでWindowsで Eclipseから Run As → JUnit Test でも、Linuxで
 mvn clean test
でもどちらでも正常にテストが実行されるようになりました。

-----------------------------------
松田 明<[E-MAIL ADDRESS DELETED]>




Seasar-user メーリングリストの案内