Re: テストコードは外にあるべきか

http://d.hatena.ne.jp/amapyon/20050410#1113153902


インナークラスに置いてみた。(あまぴょんさんのとこで紹介してるのと逆パターン)


public class Foo {
// 略
public class FooTest extends TestCase {
// 略
}
}

junit.framework.AssertionFailedError: Class Foo$FooTest has no public constructor

アウチ!


staticつけるればOK。


public class Foo {
// 略
public static class FooTest extends TestCase {
// 略
}
}


Eclipseの右クリックからも実行できるし、インナークラスは閉じて非表示にも出来るから、使う分には問題は特にない。privateメソッドまでテスト出来ちゃうし。
あとは、実際にやってみてどんなもんか、ってとこかな〜。


テストが中にあるの嫌う人もいるだろうけどね。
実際に動かすときには不要だからとか。


追記:リリース時には、コンパイルしてから、Xxx$XxxTestってクラスを削除すれば大丈夫かな。