我偶然发现了这个开源项目Fake It Easy,我必须承认,它看起来非常有趣,但是我还有疑问,FIE伪造对象和Moq模拟对象之间有什么区别?对于特定的用途,哪个更好?
编辑:
这个新框架有什么使它比Moq更好的地方吗?
我偶然发现了这个开源项目Fake It Easy,我必须承认,它看起来非常有趣,但是我还有疑问,FIE伪造对象和Moq模拟对象之间有什么区别?对于特定的用途,哪个更好?
编辑:
这个新框架有什么使它比Moq更好的地方吗?
测试中使用的术语可能会有些令人困惑。最好的解释不同概念之间的差异的来源是马丁·福勒(Martin Fowler)的《模拟对象不是存根》(Mocks Aren't Stubs)。简而言之,伪造是一个泛指,可以用来描述存根和模拟对象。
从我的角度来看,Fake不会取消Moc的使用。例如,我使用Dev Magic Fake来伪造DAL和Business层,在同一时间内我使用Mock在MVC中处理HTTPContext。
var repoistory = new FakeRepository<ProductTypeForm, VendorForm>();
repoistory.Save(productTypeForm);
this.FillDropDown(new FakeRepository<VendorForm>());
var context = new Mock<HttpContextBase>();
var request = new Mock<HttpRequestBase>();
所以我使用假的和模拟的