謙遜物件

2020 年 4 月 29 日

有些程式元素本質上難以測試,甚至不可能測試。這些元素中的任何邏輯因此容易有臭蟲,且難以演進。為了減輕這個問題,請盡可能將邏輯移出難以測試的元素,並移至程式碼庫中其他更友善的部分。透過讓不可測試的物件謙遜[1],我們可以減少它們藏有邪惡臭蟲的機率。

使用者介面中的一個常見範例。有些平台未提供任何掛鉤,讓我們可以對 UI 控制項執行自動化測試。即使有提供掛鉤的平台,也常常會因為複雜的設定、特殊架構和執行緩慢的測試而變得困難。但是,我們常常可以透過確保這些控制項擁有最少的行為,並使用類似於 簡報模型 (MVVM)被動檢視 的模式來有效測試。

有關此方法的更多詳細資料,關鍵來源是 Gerard Meszaros 的 xUnit 測試模式一書 - 謙遜物件 的條目是在線上,且包含更多深度,包括變異和範例。

註解

1: 「謙遜」一詞的用法源自於 Michael Feathers 的一篇文章