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 に答える