そもそもJUnitは、振る舞いのテスト(≒ブラックボックステスト)を前提としている(こんなデータを入れたら、こんな結果が返りますよーという意味で)。 privateメンバをテストしたいというのは、ホワイトボックステストをしたいということである(このメソッドは内部で別のメンバを使ってますよーという意味で)。 実際のところ、JUnitでは、privateメンバのテスト手段は提供されていない。 何とかしてprivateメンバをテストしたい、ということで、リフレクションを利用する人がいる。だが、リフレクションを利用するとリファクタリングが難しくなる(フィールド名を文字列で指定することになるため)。テストコードの書き方のせいで、リファクタリング作業が阻害されるのでは、本末転倒である。 そこで、どうしてもprivateメンバをテストしないと気が済まない人のため、別の解決案を考えた。 import ja