✍️blog

技術系のこととか

DatabaseSetupでjava.lang.IllegalArgumentException: Unable to load dataset ...と言われる

Spring + DBUnit な構成でユニットテストを実行すると
java.lang.IllegalArgumentException: Unable to load dataset .... とエラーが表示されました。

原因はわかりませんが、タイポもなく、ファイルが存在するのにエラーが起きることはあるようで、
👇の方はファイルを置きなおすことで改善したようです。

wrongwrong163377.hatenablog.com

ここからが本題ですが、私の場合は
手元の開発環境で実行すると成功するが AWS CodeBuild上では上記が再現して失敗するという状態でした。

CodeBuild上では gradle buildを実行し jarを作成するということをしていたのですが、
buildの中で実行されるtestで上記が再現していました。
もちろん必要なファイルやはすべてそろっており構成上は問題ないはずでした。

また、特定のフォルダというより特定のフォルダ以下のファイルがすべて読めないようでした。
つまり、少しでもフォルダの階層をずらすと読めるようになるという。。。

原因の特定はできませんでしたが、フォルダ構成を整理してファイルの場所を変えてあげることで問題なく動作するようになりました。

とりあえず今回は動くようになりましたが、この先テスト用のファイルを追加していった際に再現しない保証はないのでちょっと怖いですねw

手元の環境で再現せずCodeBuild上では再現するということで環境の問題だとは思いますが、 なんなんでしょうか。。。

というか、CodeBuildのdockerイメージ使って試してみればいいのか。

github.com

まぁ次動かなくなったら試してみようw

via GIPHY