1:將 A 類別複製到另外一個檔案並給個好命名 B • 作者說 B 的命名通常是添加「Production」前綴。 • Step 2:A 只保留 public 方法。 • Step 3:A 改成抽象類別。 • Step 4:B 實作 A。 實作提取對解依賴沒有改善,只能發現原本使用 A 的都錯誤 了,藉此逐一觀察使用端如何使用 A 的,然後逐一調整。 Ch25.9
依賴下推(Push Down Dependency) 被測試對象(SUT)使用到自己類別中其他屬性或方法。要 測試會很麻煩(不是不行)。 可以將被測試對象(SUT)與其相依屬性或方法「提升到抽 象類別(A)」或將相依屬性或方法「下推到子類別(C)」, 然後寫個假類別繼承 A / C 即可。 還記得前面的『時間』那一題嗎?那是抽到方法(method)然後寫個假類別覆寫。 這邊也是雷同,假類別繼承 A / C 後就能覆寫想覆寫的東西了。 Ch25.17 Ch25.18