我对使用关键字假和 mock 感到困惑,具体取决于各种Mock / TDD框架。
我理解 mock 和 fake 的含义,根据我的理解,我现在正在使用这种语法:
// I prepare my fakes with custom expected behaviours
IUnitOfWork fakeUnitOfWork = new Mock<IUnitOfWork>();
IRepository fakeRepository = new Mock<IRepository>();
// I initialize the mock under test
MyCommandHandler mockHandler =
new MyCommandHandler(fakeUnitOfWork.Object, fakeRepository.Object);
// I act on my Mock
mockHandler.Handle(new Command("whatever"));
// I assert
fakeUnitOfWork.Verify(x => x.Commit(), Times.Once());
fakeRepository.Verifx(x => x.Add("whatever"), Times.Once());
这是前缀 mock 和 fake 的正确用法,还是我应该使用 mock 来IUnitOfWork
和{{ 1}}和IRepository
只是一个正常的测试对象?