2
我目前正在研究用Moq編寫基本執行計時器的單元測試。有一個函數在定時器停止時調用,它將所有定時添加到數據庫中,我需要測試插入是否已被調用。 我已經使用類似的測試來通過homecontroller測試插入,但是這是直接進行的。使用MSTest和Moq測試存儲庫 - .Verify不起作用
// Calls AddToLog() which iterates through the list
// adding all entries to the database
_timer.Stop();
_repository.Verify(x => x.Insert(TimerObject));
我收到的錯誤是:
Expected invocation on the mock at least once, but was never performed: x => x.Insert(.splitTimer)
Performed invocations:
ITimersRepository.Insert(EF.Domain.Entities.Timer)
ITimersRepository.Insert(EF.Domain.Entities.TimerSplit)
ITimersRepository.Save()
的addToLog()方法被挑釁被調用並調用存儲庫的.insert。我不確定爲什麼它會回來,因爲沒有被稱爲?
任何想法都會很棒。
感謝
我相信我有答案。它應該是_timerRepository.Verify(x => x.Insert(It.IsAny()));.任何人都可以驗證我正在以正確的方式做它嗎? –
Henry
2011-02-18 14:39:43