testcode refactoring using externalresource #junitbook

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

Upload: go-sueyoshi-aka-sue445

Post on 18-Dec-2014

1.782 views

Category:

Technology


2 download

DESCRIPTION

「『JUnit実践入門』写経・実践会 in 横浜 #3」で使ったLTの資料です。 http://connpass.com/event/1668/

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