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