2011-06-06 31 views
1

我正在使用JustMock來模擬單元測試的接口,但也許我沒有做正確的。如何在VB.NET中使用JustMock模擬接口屬性

我有一個接口:

Public Interface IFoo 
    Property Bar as int 
End Interface 

我想嘲笑這個接口,並設置該屬性,以便它可以通過消費者的接口來讀取。
起始用:

Dim mockFoo as IFoo = Mock.Create(Of IFoo)() 

的我試圖這樣設置屬性:

mockFoo.Bar = 1 

而且也是這樣:

Mock.Arrange(Sub() mockFoo.Bar = 1).DoNothing() 

也是這樣:

Mock.Arrange(功能()mockFoo.Bar).Returns(1)

我跟着從這個職位上的Telerik的論壇(不是我的問題)的問題和答案:
http://www.telerik.com/community/forums/justmock/general-discussions/mock-property-set-in-vb-net-module.aspx

但Telerik發佈的示例不能解決我的問題。它也看起來像一個凝固物,而不是一個接口。我是否完全錯誤地接近了這一點?

編輯,更新:
這個問題是我的項目沒有建設。我可以使用下面的語法來獲得界面特性:

Mock.Arrange(Function() mockFoo.Bar).Returns(1) 

回答

4
Mock.Arrange(() => mockFoo.Bar).Returns(1); 

見Telerik的文檔:http://www.telerik.com/help/justmock/basic-usage-mock-returns.html

+0

剛剛意識到我在lambda使用的是C#語法和VB.NET可能是不同的(我多沒用過VB.NET)。是VB.NET語法'Sub()'而不是'()'? – 2011-06-06 14:52:53

+0

這不適合我。在VB.NET中,我可以使用'Function()'而不是'()'來實現lambda返回,但該屬性總是返回null/nothing。 – Matthew 2011-06-06 16:12:54

+0

@Matthew你可以發佈你的測試失敗嗎?語法看起來正確。 – 2011-06-06 17:00:57

相關問題