Один простой пример, который я обычно показываю (так как я также являюсь разработчиком 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)