ServiceClass 類的 if...else 邏輯分支保持不變(為了清晰起見)。同時,無參數構造函數仍然適用。注,并不總是需要有創造性邏輯,例如 while...do 子句或 for 循環來正確地測試類的方法。只要有針對類使用的對象的方法執行,簡單的模擬期望就足以測試那些執行。
您還必須更改 ServiceClassTest 類以匹配場景,如下所示:
清單 5. 經過編輯的場景 2 的 ServiceClassTest 類
...
private ServiceClass serviceClass;
private Mock mockCollaborator;
private Collaborator collaborator;
public void setUp(){
serviceClass = new ServiceClass();