home ホーム search 検索 -  login ログイン  | reload edit datainfo version cmd icon diff delete  | help ヘルプ

日記/2009/10/11/JUnit-addonsもJUnitでprivateメソッドをテストできるようだ

日記/2009/10/11/JUnit-addonsもJUnitでprivateメソッドをテストできるようだ

日記 / 2009 / 10 / 11 / JUnit-addonsもJUnitでprivateメソッドをテストできるようだ
id: 455 所有者: msakamoto-sf    作成日: 2009-10-11 23:14:47
カテゴリ: Java TDD 

技術/TDD/JavaでUnitTestでprivateメンバにアクセスしたい場合 でPrivilegedAccessorを使ったprivateメソッド (というか非publicなもの全体)のテストについて調べたが、どうやら JUnit-addons というのも暫く前からあって、こちらでもprivateメソッドをテストできるようになるらしい。

「らしい」というのは実際にDLして動かしたりしてないから。というか対応がJUnit3.7/3.8で停まっているらしく、2009/10時点でのJUnit4.x系列には対応しているのか居ないのか不明。

他にも日本語のJUnitのWikipediaによると "JxUnit" (xは小文字)というのもprivateメソッドをテストできるらしいが・・・

http://ja.wikipedia.org/wiki/JUnit

ただし、2009/10現在、"JXUnit"(xが大文字)はあるのだが、これはどうやらテストデータを分離するフレームワークのようで、XMLにテスト情報を記述してディレクトリ構成を整える事で実行してくれるとかそんなやつらしい。

「らしい」ばっかりになっているが、いずれにしてもprivateメソッドをテストするのは一苦労らしい。

・・・もういっそのこと、アクセス制御止めちゃえば?と思いたくもなる・・・。いや、だってさー、privateがなまじあるから、場当たりに「あ、この処理はprivateにまとめちゃえ~」って場当たりなメソッドがぐちゃぐちゃ増えてくるような気がする。いっそ全部publicで良いじゃん?publicにしちゃえば少なくとも多少はIF考えるようになるし、それでもぐちゃぐちゃになる時はぐちゃぐちゃになるんだから・・・。それに、ぐちゃぐちゃにされても、それでも、リフレクション使ったライブラリを使わなくてもpublicだからじゃんじゃんテストコードを書けるというのは結構ストレス少なそうなんだけど。

まぁ単体テストについて言えばオブジェクトなりクラスの「外からの/外への」IN/OUTを調べるのだからそもそもprivateなメンバを調べないとイケナイというのがおかしいといえばおかしいのだけれど。


プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2009-10-11 23:27:42
md5:7fd9e5f47495a522ef9e0729a7c6509f
sha1:3ca36ac79942eecd5d7da0c647d73eaa34207966
コメント
コメントを投稿するにはログインして下さい。