Cod*_*nis 2 vb.net rhino-mocks visual-studio-2008
以下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);
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是,尝试在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
Run Code Online (Sandbox Code Playgroud)
该Expect.Call行产生以下构建错误:"重载解析失败,因为没有可访问的'Expect'接受此数量的参数."
Expect.Call在VB.NET中使用mocked属性的正确方法是什么?我看过一些帖子说Rhino Mocks在VB10中工作得更好,但是我在这个当前项目中遇到了Visual Studio 2008.
尝试
Rhino.Mocks.Expect.Call(testMock.Test).Return("testing")
Run Code Online (Sandbox Code Playgroud)
现在我们切换到Rhino mocks 3.5,看到我们在Expect上收到错误,说签名不正确.不用担心这是因为它选择了错误的Expect.即尝试在那里使用扩展方法.只需添加Rhino.Mocks.在期待之前,一切都很好.看看进口不会做同样的事情.
| 归档时间: |
|
| 查看次数: |
2520 次 |
| 最近记录: |