2014-02-13 152 views
1

我對單元測試相當陌生。我最近遇到了一個問題,我測試了一個只做一件事的方法 - 它調用了一個屬於該類的對象的方法。這個對象代表的類有它自己的單元測試。如何測試調用另一個類的方法的方法?

據我所知,這個method may change in time,當它做測試應該告訴我如果預期的結果它。但是我能用這種方法測試什麼?

我的代碼:

public class MyClassToBeTested 
{ 
    private CustomType myObject; 

    private const myParameter = 2; 
    (...) 
    public string MyProperty 
    { 
     get 
     { 
      return myObject.DoYourStuff(myParameter); 
     } 
    } 
} 
+0

顯示您的代碼。 –

回答

1

這聽起來像是你需要捕捉調用底層對象,並檢查它(或至少驗證已經調用)。我會mock這個對象,並注入它的參考(Inversion of Control)。

通過注入對象,您可以在部署時提供真實對象,並在測試期間提供模擬。

0

如果有什麼依賴於別的東西。即方法調用另一個方法,那麼你應該嘲笑它,或者模擬它的行爲。

+0

我知道,但在這種情況下(我添加了一個代碼示例)我只調用該方法來獲取其結果並自動返回它。我不需要進一步的測試結果,所以我不認爲嘲笑會幫助我... –

+1

那麼測試的目的是什麼?在TDD世界中,並非所有事情都需要測試。 – carousel

+0

我們(我的團隊)在單元測試中覆蓋了代碼覆蓋範圍,最近我在一個提到的鏈接中閱讀,無論如何我都應該測試它,以防萬一屬性發生變化。我確實有一個問題,因爲我不知道那個測試將證明什麼。 –

相關問題