1

我试图对这个方法进行单元测试,这非常简单,只需将一个对象添加到数据库中,如果它运行良好,则返回 true

Public Shared Function CrearCliente(ByVal cliente As Cliente) As Boolean
    Try
        db.Cliente.Add(cliente)
        db.SaveChanges()
        Return True
    Catch ex As Exception
        Throw New Exception("ocurrio un error guardando al cliente")
    End Try
End Function

现在这是我的测试

<TestMethod()>
Public Sub CrearClienteTest()
    Dim mock = New Moq.Mock(Of Cliente)
    Dim actual As Boolean
    mock.Setup(Function(x) x.Nombre).Returns("blah")
    'mock.Setup(Function(x) x.Apellido()
    actual = Class1.CrearCliente(mock.Object)
    Assert.AreEqual(True, actual)
End Sub

很简单我的问题是为什么当调试时测试会抛出这个错误

Invalid setup on a non-virtual (overridable in VB) member: x => x.Nombre

有什么问题?我需要其他配置吗?

4

1 回答 1

1

如错误所述,Moq 要求您模拟的成员是Overridable.

于 2012-04-18T22:02:36.290 回答