Fixture
fixture是撰寫許多測試test cases的地方。 用fixtures會很得心應手為開發好的程式而測試。
讓我們來試試這種開發風格,並且學習用fixture
。 假設我們真的正在開發Complex類別。 一起從定義一個空的類別,命名Complex為起點吧。
現在以(上述的)ComplexNumberTest
的程式碼當例子,建立一個並且編譯它,來看看會發生什麼。第一件事,我們注意到一些編譯錯誤。 測試程式使用了==運算子
,而我們並沒有定義。我們來修正這個錯誤。
現在編譯測試程式,並執行。 這次它通過了編譯,但是沒有通過測試。 我們需要加把勁讓==運算子
的行為正確,所以再改一下程式碼。
如果我們現在編譯並執行,就會通過測試了。
接下來,我們準備加上新的運算式和測試。 而且會突顯fixture好用的地方。 如果可以在每一個測試程式執行前,都實體化三到四個complex物件,而且可以重覆使用的話會那就太好了。
下列介紹一下,如何實現這件事:
在每一個
fixture
增加成員變數Override
setUp()
來初始化這些變數Override
tearDown()
來釋放你在setUp()
動態宣告的記憶體空間
有了這個fixture,我們可以在後續的開發過程中,加上complex其它的test cases
。
關鍵字翻譯
fixture 治具
譯註
治具 工廠內為協助製作、測試產品所產生的特殊工具,都稱之為治具。(非正規定義)
need a bit more to get 這句不會翻耶,只求句子通順翻成「需要加把勁」
Last updated