使用Mock和Fake

时间:2017-12-08 09:38:04

标签: c# unit-testing moq

我对使用关键字 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只是一个正常的测试对象?

0 个答案:

没有答案