我一直在使用RhinoMocks,但剛開始研究Moq。我有這個非常基本的問題,並且讓我感到驚訝的是,這不會立即開箱。假設我有以下類定義:傳遞Moq模擬對象給構造函數
public class Foo
{
private IBar _bar;
public Foo(IBar bar)
{
_bar = bar;
}
..
}
現在我有一個測試,我需要模擬發送給Foo的IBar。在RhinoMocks我只想做到像如下,它的工作好了:
var mock = MockRepository.GenerateMock<IBar>();
var foo = new Foo(mock);
然而,起訂量這似乎並沒有以相同的方式工作。我做如下:
var mock = new Mock<IBar>();
var foo = new Foo(mock);
不過,現在它失敗 - 告訴我「無法從‘Moq.Mock’到‘伊巴爾’什麼我做錯了什麼轉換是這樣做的推薦的方法?與起訂量?
+1爲是隻有10個答案,這將是一個公認的後面秒。謝謝! – stiank81
我通常不會將對象實例指定給像這樣的變量,因爲您可能需要爲特定行爲設置模擬。 – skyfoot
這只是爲了顯示.Object,這是他遇到的運行時錯誤的解決方案:-) –