Bel*log

プログラミングと読書たまに麻雀。

大規模開発のJUnitではresourcesを分けたほうがいいのではという話

今参画しているプロジェクトでは、業務共通部品と業務部分のチームがそれぞれ分けられています。
業務共通部品はJARファイルで提供される形です。
開発が並行して進められているため、単体テストでは業務共通部品をモック化し、テストするという方針があります。
しかし、現状、単体テスト用にresourcesが分けられていません。


これは問題ではないでしょうか。
実際JUnitが動かなくなり、業務共通部品がリリースされる度に同様の問題が発生しています。
(そもそも業務共通部品側もちゃんとテストしろよって話ではあるが…。)


業務側では、業務共通部品を使用するため、resources配下のXMLに何をimportするのかという設定を記述します。
しかし、その設定を記述しているがために、業務共通部品側のXMLに問題がある場合、設定ファイルを読み込んだ際にエラーになります。
単体テスト用にresourcesを分けられていないと、業務共通部品の欠陥のせいで、単体テストが動かなくなるわけです。


JUnit用で設定ファイルをいじりたい場合は、そもそもresourcesを分けると思うのですが、大規模開発でJARファイルとして提供される業務共通部品がある場合も分けたほうがいいのではないかと思いました。



JUnitうまく動かなくなって、うごごごgってなった愚痴でした。Ciao!