如何使用带有最小起订量的 PostSharp?
我们正在尝试使用 PostSharp,更具体地说是 OnMethodIn VocationAspect,来拦截类的方法。
代码运行良好,但是当用最小起订量测试它时,它似乎搞乱了我的模拟。
如果我删除这些方面,所有测试都会成功。但是,如果我重新打开这些方面,则无法满足最小起订量模拟的期望。
这是从我们的一个单元测试中摘取的片段:
this.sgtrMock.Setup(r => r.RetrieveCurrentTaxes()).Returns(new[] {tax1, tax2});
this.service.LoadServiceTaxes();
this.sgtrMock.Verify(r => r.RetrieveCurrentTaxes(), Times.Once());
对于可能发生的情况有什么想法吗?
We are trying to use PostSharp, more specifically the OnMethodInvocationAspect, to intercept the methods of a class.
The code runs fine, but when testing it with MOQ, it seems to be messing up with my mocks.
If I remove the aspects, all tests succeed. But, if I turn the aspects back on, the expectations on the MOQ mocks are not met.
Here is a snippet taken from one of our unit tests:
this.sgtrMock.Setup(r => r.RetrieveCurrentTaxes()).Returns(new[] {tax1, tax2});
this.service.LoadServiceTaxes();
this.sgtrMock.Verify(r => r.RetrieveCurrentTaxes(), Times.Once());
Any ideas about what can be happening?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
有一个问题 - Moq 对象不是拦截的对象,它们是代理。
There's a catch - Moq objects are not the intercepted objects, they're proxies.