2014-03-28 40 views
1

是否可以用NUnit模擬函數調用?我知道這裏的標準答案是提取一個接口並使用依賴注入,但我想知道是否有可能不這樣做,只是模擬一個函數調用。用NUnit模擬函數?

+0

在java中,使用PowerMock,你可以做到這一點。但是當大家在項目中使用PowerMock進行單元測試時,沒有人關心這個設計,因爲你幾乎可以嘲笑一切,所以單元測試結果一團糟,發生在我的一個項目中。 – Matt

+0

你能提供一個你想要模擬的代碼樣本嗎? –

回答

1

可能沒有,沒有接口等

沒有接口,你可能需要求助於微軟正版正貨(墊片)嘲笑方法調用原樣。 (它可以讓冒險與代假貨組件)

假貨效果很好,當你有一個像

public DateTime GetCurrentUtcDate() 
{ 
return DateTime.UtcNow; 
} 

的方法和要運行的單元測試涉及的代碼,調用此方法。我們通常不會爲這些方法考慮interfaces/DI。這些情況下,Fakes會派上用場。