我通常展示的一个简单示例(因为我也是 VB 开发人员)如下:(由于 VB 中的某些奇怪原因,您需要将其拉出到另一个不返回任何内容的函数中)
<TestMethod()> _
Public Sub Should_Call_Into_Repository_For_GetAllUsers()
Dim Repository As IUserRepository = MockRepository.GenerateStub(Of IUserRepository)()
Dim Service As IUserService = New UserService(Repository)
Service.GetAllUserCollection()
Repository.AssertWasCalled(Function(x) Wrap_GetAllUserCollection(x))
End Sub
Function Wrap_GetAllUserCollection(ByVal Repository As IUserRepository) As Object
Repository.GetAllUserCollection()
Return Nothing
End Function
以上是基于交互的测试,下面可能更接近您在当前示例中寻找的内容
Dim StubUserObject As New User(1, "9999", "jdoe", "John", "Doe", 1)
UserService.Stub(Function(x) x.GetUserByID(1)).[Return](StubUserObject)