我开始使用moq,但据我所知,即使我真的不关心它们,我始终必须模拟所有可能被调用的方法。有时候构建模拟需要太长时间,以至于你忘记了自己想做什么。因此,我一直在寻找自动模拟工具,但我不确定该使用哪一个。
我完全不知道如何使用第一个工具。第二个工具我有点理解,但从未真正尝试过。
我不确定哪个工具更好。唯一知道的是我已经在使用AutoFixtures,这是第一个工具的依赖项。
因此,也许从长远来看,使用第一个工具是有意义的,但就像我所说,我找不到任何基本教程来使用它。
编辑
我正在尝试跟随“Nikos Baxevanis”的示例,但遇到了错误。
Failure: System.ArgumentException : A matching constructor for the given arguments was not found on the mocked type.
----> System.MissingMethodException : Constructor on type 'DatabaseProxyded46c36c8524889972231ef23659a72' not found.
var fixture = new Fixture().Customize(new AutoMoqCustomization());
var fooMock = fixture.Freeze<Mock<IFoo>>();
// fooMock.Setup(x => x.GetAccounts(It.IsAny<IUnitOfWork>()));
var sut = fixture.CreateAnonymous<AdminService>();
sut.Apply();
fooMock.VerifyAll();
我认为是因为我的petapoco unitOfWork属性
PetaPoco.Database Db { get; }
我不确定是否需要进行模拟或其他处理。