如何在VB.Net中使用RhinoMocks模擬一種方法?我發現的引用是在C#中:如何在VB.NET中使用Rhino Mocks模擬一種方法(自定義行爲)
Expect.Call(delegate{list.Add(0);}).IgnoreArguments()
.Do((Action<int>)delegate(int item) {
if (item < 0) throw new ArgumentOutOfRangeException();
});
SharpDevelop的轉換這:
Expect.Call(Function() Do
list.Add(0)
End Function).IgnoreArguments().Do(DirectCast(Function(item As Integer) Do
If item < 0 Then
Throw New ArgumentOutOfRangeException()
End If
End Function, Action(Of Integer)))
但是,這並不工作,要麼(不編譯)。
這就是我想要做的:創建一個新對象並調用設置該方法某些屬性的方法。在現實生活中,這種方法將使用數據庫中找到的值填充屬性。在測試中,我想用自定義方法/委託來嘲笑這個方法,這樣我就可以自己設置屬性(不需要去數據庫)。
在僞代碼,這就是我想要做的事:
Dim _lookup As LookUp = MockRepository.GenerateMock(Of LookUp)()
_luvalue.Expect(Function(l As LookUp) l.GetLookUpByName("test")).Do(Function(l As LookUp) l.Property = "value")
@JaredPar我與同樣的問題需要模擬(或存根)的VB.NET SUB戰鬥。你的回答似乎解決了這個問題,但我不清楚如何在unti測試中使用MockHelper類。你能提供附加的細節嗎? – Rick 2009-04-28 15:58:08