たまには技術ネタで。
EclipseのJava Projectでソースコードのフォルダを複数持てるってことを遅ればせながら知りました。File > New > Source Folderで乱発できます。
作成したJUnitのテストクラスをどこに配置しようかずっと悩んでいまして。テストクラスの配置としては、foo.bar.MyClassに対応して、foo.bar.test.MyClassTestというようにtestパッケージにまとめるという構成が一般的だったりしますが、これだとMyClassがpublicでない場合テストできないので困りものです。同じ階層に配置すれば問題ないですが、通常のコードとテストコードとが混在して管理が煩雑になります。仕方ないのでバージョン管理システムから除外してローカル保存したりするんですが、かと言ってテストコードは言わばソフトウェアの仕様であるわけで、ローカル管理はあり得ないでしょうと。
そんなときはソースフォルダ乱発です。何がいいかというと、ソースコード階層がマージされるところです。srcソースフォルダに入れたfoo.bar.MyClassクラスが別途作成したtestソースフォルダ以下のfoo.bar.MyClassTestから参照できてしまいます(例えpackage privateなクラスでも!)。テストクラスの分離も簡単。他にも、お試しコード置き場とか、他プラットフォーム用stub置き場とかに使えますね。バージョン管理システムでも間違いが減りそうです。というわけで、デフォルトのsrcフォルダ以外に、test、stub、studyというソースフォルダを作ってみました。少なくともtestフォルダはpushします。Eclipseサイコーです。
でもこれEclipse環境だけであり得る構成?他の環境使っている場合大丈夫なんでしょうか?という懸念が少々。
最近のコメント