質問: テストコードの置き場所という問題、 長らくの悩みなんですが、皆さんどうしていますか? どの言語でもいいのですが、例えばphpでSampleというクラスが/src/model/Sample.phpにあり、 そこにfooとbarという関数があったとします。 でfooとbarそれぞれにテストコードを書くとすると、自分の場合は /src/model/Sample.php /src/model/Sample_fooTest.php /src/model/Sample_barTest.php という配置にしています。各々のテストコードファイルの中には、その関数に対するテストケースが複数ある感じです。 (仮に同ディレクトリ方式と呼ぶことにします。) この同ディレクトリ方式だと メリット: ・対象となるクラスにテストコードが書かれていることを把握しやすい(書かれていない場合も把握しやすい) ・テストコードと対象クラスの行ったり来たりがらく (・言語系によっては、プロパティや関数へのアクセス制限も回避しやすくなったりするのかな。) デメリット: ・ソースコードディレクトリがテストコードファイルだらけになり、メインのコードを探しにくくなる。 と言ったことがあるかなと思っています。 /src/model/Sample.php /test/model/Sample_fooTest.php /test/model/Sample_barTest.php のようにテストコードを大本のディレクトリから分ける方式がよく見ると思いますが、 同ディレクトリ方式のメリットを捨てがたく、、 あと、同ディレクトリ方式の別バージョンで /src/model/Sample.php /src/model/SampleTest/Sample_fooTest.php /src/model/SampleTest/Sample_barTest.php のようにテストコードディレクトリを内部に作る方法もあるかな?と思っています。 上記のいずれかの方式をベースにしつつ更に良い運用の仕方や、 何かしらツールのサポートを使う方法、 はたまた全く違う方式などで良い方法があれば教えていただきたく。 宜しくお願いします。
回答: 個人の意見だったりjavaだったりもしかしたら間違ってたりするかもしれませんが、ご了承ください。 私だったら、 src/model/sample.java src/test/sampletest.java 上の人と一緒です。 JSやRubyはわかりませんが、eclipseを使うとF3で関数の呼び出し元が開けたり、 IDEだとそういう機能があるかと。