RhinoMocks WhenCalled не возвращает то, что я ожидаю

У меня есть следующий код в модульном тесте:

Dim repository As IRepository(Of tkey, T) = 
   MockRepository.GenerateMock(Of IRepository(Of tkey, T))()

repository.
   Expect(Function(r) r.FindById(Arg(Of tkey).Is.Anything)).
   Return(Nothing).
   WhenCalled(Function(invocation) invocation.ReturnValue = DirectCast(invocation.Arguments.First(), tkey))

Когда я использую смоделированный репозиторий таким образом:

Dim result As String = myRepo.FindById("Two")

Я ожидаю, что результат будет содержать "Два". Тем не менее, он всегда содержит ничего / ноль.

Есть идеи?

Вот неуниверсальная версия той же проблемы:

Public Interface IDoSomething
    Function DoSomething(index As Integer) As Integer
End Interface

<Test()>
Public Sub ShouldDoSomething()
    Dim myMock As IDoSomething = MockRepository.GenerateMock(Of IDoSomething)()

myMock.
   Stub(Function(d) d.DoSomething(Arg(Of Integer).Is.Anything)).
   WhenCalled(Function(invocation) invocation.ReturnValue = 99).
       Return(Integer.MinValue)

Dim result As Integer = myMock.DoSomething(808)

End Sub

Результат теперь содержит Integer.MinValue, а не ожидаемый 99.

0 ответов

Другие вопросы по тегам