l

2015年4月21日 星期二

Fixture Setup Patterns(1):In-line Setup

April 01 16:00~16:39

螢幕截圖 2015-04-01 17.05.19

 

介紹完《xUnit Test Patterns: Refactoring Test Code》書中提到的測試案例壞味道,接著介紹幾個Fixture Setup模式。Fixture Setup模式可以分成兩大類:

  • Fresh fixture setup:包含In-line Setup、Delegated Setup、Creation Method、Implicit Setup這四種。
  • Shared fixture construction:有Prebuilt Fixture、Lazy Setup、Suite Fixture Setup、Setup Decorator、Chained Tests這五種。

今天先介紹In-line Setup

***

In-line Setup顧名思義就是將設定測試環境的動作放在test method裡面直接就地解決。每一個test method個別負責自己的環境設定,所以每次執行測試的時候都會得到一個新的測試環境(fresh fixture)。

以下程式碼就是採用In-line Setup,測試資料的產生方式直接寫在test method裡面。

螢幕截圖 2015-04-01 17.03.34

***

In-line Setup的好處就是簡單易懂,執行測試所需的所有資料直接看程式碼就可以知道,一目了然。缺點就是如果多個test method所需的test fixture都一樣,設定test fixture的程式碼就要複製好幾份。通常In-line Setup是撰寫測試案例的起點,先把需要的資料寫在test method裡面,日後如果有共用程式碼或是共享fixture的需要,再套用其他模式來取代。

***

友藏內心獨白:沒錯,這也算一個模式。

沒有留言:

張貼留言