Transcript
Page 1: TestCode Refactoring Using ExternalResource #junitbook

TestCode Refactoring using ExternalResource『JUnit実践入門』写経・実践会 in 横浜 #3

@sue445

Page 2: TestCode Refactoring Using ExternalResource #junitbook

自己紹介

@sue445● drecomのRailsエンジニア● JUnit実践入門の(一応)レビュアー● AZusaar!!とか作ってます● TDDマニア● 最近のマイブームはJenkins

Page 3: TestCode Refactoring Using ExternalResource #junitbook

基本的なテストケース

Page 4: TestCode Refactoring Using ExternalResource #junitbook

setUp/tearDownを抽出

Page 5: TestCode Refactoring Using ExternalResource #junitbook

スーパークラスを作る

Page 6: TestCode Refactoring Using ExternalResource #junitbook

スーパークラス、ダメ。ゼッタイ。

Page 7: TestCode Refactoring Using ExternalResource #junitbook

スーパークラス、ダメ。ゼッタイ。

● setUpとtearDownをお手軽に共通化できるのは便利

● サブクラス以外からの再利用が困難● サブクラスで知らずにsetUpとtearDownを上書

きする可能性がある。(finalをつけてれば一応防げる)

● 「継承よりもコンポジションを選ぶ(by. Effective Java)」ってあるので安易に継承に頼るのはよろしくない

Page 8: TestCode Refactoring Using ExternalResource #junitbook

ExternalResourceを使う

Page 9: TestCode Refactoring Using ExternalResource #junitbook

Q. スーパークラスに依存してる時

Page 10: TestCode Refactoring Using ExternalResource #junitbook

A. ExternalResourceから呼べばおk


Top Related