Следующий код C # работает нормально, и тест проходит, как и ожидалось.
using NUnit.Framework;
using Rhino.Mocks;
namespace RhinoMocksTesting
{
public interface ITesting
{
string Test { get; }
}
[TestFixture]
public class MocksTest
{
[Test]
public void TestMockExpect()
{
var mocks = new MockRepository();
var testMock = mocks.StrictMock<ITesting>();
Expect.Call(testMock.Test).Return("testing");
mocks.ReplayAll();
Assert.AreEqual("testing", testMock.Test);
}
}
}
Однако попытка сделать то же самое в VB.NET даже не скомпилируется!
Imports NUnit.Framework
Imports Rhino.Mocks
Public Interface ITesting
ReadOnly Property Test() As String
End Interface
<TestFixture()> _
Public Class MocksTest
<Test()> _
Public Sub TestMockExpect()
Dim mocks = New MockRepository
Dim testMock = mocks.StrictMock(Of ITesting)()
Expect.Call(testMock.Test).Return("testing")
mocks.ReplayAll()
Assert.AreEqual("testing", testMock.Test)
End Sub
End Class
В строке Expect.Call
выдается следующая ошибка сборки: «Не удалось разрешить перегрузку, поскольку ни один из доступных« Expect »не принял это количество аргументов».
Как правильно использовать Expect.Call
с проверенным свойством в VB.NET? Я видел пару сообщений, в которых говорится, что Rhino Mocks лучше работает в VB10, но я застрял в Visual Studio 2008 для этого текущего проекта.