2012-04-18 103 views
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 

什麼可能是錯的?我需要另一種配置嗎?

回答

1

由於錯誤狀態,Moq要求您模擬的成員爲Overridable