Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在Moq中,给定对.Object的引用,是否可以操纵原始mock?_C#_Mocking_Moq - Fatal编程技术网

C# 在Moq中,给定对.Object的引用,是否可以操纵原始mock?

C# 在Moq中,给定对.Object的引用,是否可以操纵原始mock?,c#,mocking,moq,C#,Mocking,Moq,我希望可以通过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! 我是否可以在不

我希望可以通过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!
我是否可以在不编译的代码上面的一行编写这样的代码?如果没有,为什么不呢?

您可能想使用Mock.Get,它为给定的对象实例检索Mock对象:

您可能希望使用Mock.Get,它检索给定对象实例的Mock对象:


它如何编译?IFoo没有验证method@MikeSW-也许通过一些扩展方法?Rhino Mocks允许它…您有扩展方法“验证”吗?它如何编译?IFoo没有验证method@MikeSW-也许通过一些扩展方法?Rhino Mocks允许它…你有扩展方法“验证”吗?正是我需要的。谢谢正是我需要的。谢谢
Mock.Get(foo).Verify(x => x.Bar());