我正在尝试使用 StructureMap 附带的 MoqAutoMocker 类,但我找不到任何应该如何使用它的示例。我所要做的就是在 StructureMap 站点上使用 RhinoMocks 的示例。
我想要做的是使用 Get 方法获取对我的自动模拟/注入依赖项之一的引用。根据上面的链接,我应该能够做这样的事情
// This retrieves the mock object for IMockedService
autoMocker.Get<IMockedService>().AssertWasCalled(s => s.Go());
请注意如何使用 AssertWasCalled,它指示 Get 函数返回对 RhinoMocks Mock 对象的引用?当我使用 MoqAutoMocker 时,同样的代码对我不起作用。
我有一个类 SignInController,它依赖于构造函数中的 ISecurityService。使用 MoqAutoMocker 就像示例中使用的 RhinoAutoMocker 一样,我想我应该能够做到这一点......
var autoMocker = new MoqAutoMocker<SignInController>();
autoMocker.Get<ISecurityService>().Setup(ss => ss.ValidateLogin
(It.IsAny<string>(), It.IsAny<string>())).Returns(true);
但问题是我永远无法访问 Setup 方法。在这种情况下,对 autoMocker.Get 的调用似乎返回了 ISecurityService 的实例,而不是 Mock<ISecurityService>
有没有人以这种方式成功使用 MoqAutoMocker?我只是做错了吗?