April 01 16:00~16:39
介紹完《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裡面。
***
In-line Setup的好處就是簡單易懂,執行測試所需的所有資料直接看程式碼就可以知道,一目了然。缺點就是如果多個test method所需的test fixture都一樣,設定test fixture的程式碼就要複製好幾份。通常In-line Setup是撰寫測試案例的起點,先把需要的資料寫在test method裡面,日後如果有共用程式碼或是共享fixture的需要,再套用其他模式來取代。
***
友藏內心獨白:沒錯,這也算一個模式。
沒有留言:
張貼留言