我希望可以通过Moq中的扩展方法操作.Object
作为模拟,但我没有找到任何适用的扩展方法。
例如:
interface IFoo
{
void Bar();
}
/* ... */
var mock = Mock<IFoo>();
mock.Verify(x => x.Bar());
IFoo foo = mock.Object;
foo.Verify(x => x.Bar()); // this does not compile!
无论如何,我可以编写上面的代码(不编译的代码吗?)如果没有,为什么不呢?
答案 0 :(得分:5)
您可能希望使用Mock.Get<T>
检索给定对象实例的模拟对象:
Mock.Get(foo).Verify(x => x.Bar());