testcode refactoring using externalresource #junitbook
DESCRIPTION
「『JUnit実践入門』写経・実践会 in 横浜 #3」で使ったLTの資料です。 http://connpass.com/event/1668/TRANSCRIPT
TestCode Refactoring using ExternalResource『JUnit実践入門』写経・実践会 in 横浜 #3
@sue445
自己紹介
@sue445● drecomのRailsエンジニア● JUnit実践入門の(一応)レビュアー● AZusaar!!とか作ってます● TDDマニア● 最近のマイブームはJenkins
基本的なテストケース
setUp/tearDownを抽出
スーパークラスを作る
スーパークラス、ダメ。ゼッタイ。
スーパークラス、ダメ。ゼッタイ。
● setUpとtearDownをお手軽に共通化できるのは便利
● サブクラス以外からの再利用が困難● サブクラスで知らずにsetUpとtearDownを上書
きする可能性がある。(finalをつけてれば一応防げる)
● 「継承よりもコンポジションを選ぶ(by. Effective Java)」ってあるので安易に継承に頼るのはよろしくない
ExternalResourceを使う
Q. スーパークラスに依存してる時
A. ExternalResourceから呼べばおk
おまけ
https://github.com/sue445/s3tiger/tree/master/src/main/java/net/sue445/s3tiger/matcher