У меня есть метод, который немного сложен и нуждается в очень хорошем тестировании. Секретный соус. Хорошо, может быть, не так круто, но я не уверен на 100%, как настроить эти вещи. Этот вид проистекает из моего предыдущего вопроса здесь . Я не использовал насмешки на носорогов, так что я все еще плохо знаю синтаксис, поэтому не стесняйтесь вносить массу предложений.
Public Function GenerateAllNotifications(ByVal days As List(Of Integer)) As List(Of MailMessage) Implements INotificationService.GenerateAllNotifications
Dim someStuff = _someService.GetThingsThatExpireBetween(day1, day2)
'build some messages
Return messages
End Function
Мои настройки в моих тестах выглядят так ... Хотя я знаю, что это неправильно
Dim fakeStuff = New SomeItem()
Dim fakeContext = New List(Of Provider)
fakeContext.Add(fakeStuff)
Dim someService = MockRepository.GenerateStub(Of ISomeService)()
someService.Stub(Function(x) x.GetThingsThatExpireBetween(30, 60)).IgnoreArguments().Return(fakeContext.AsQueryable)
_fakeNotificationService = New NotificationService(someService)
Что я хочу сделать, так это вернуть выполненные предметы из этой службы. Бизнес-правило - это набор сообщений, основанный на данном истечении срока действия. Таким образом, если срок действия данной сущности истекает через 30 дней, в сообщении отражается, что, если это 60, 90, что угодно, они помещаются в сообщения. Я думаю, что моя проблема в том, что мне нужно, чтобы разные объекты возвращались (иногда) каждый раз ...?