给定一个对象o,我怎么能判断它是一个被模拟的还是一个真实的对象?
我能看到这样做的唯一方法看起来有点hacky:
public bool IsMockedObject(object o)
{
try
{
o.GetMockRepository();
return true;
}
catch(InvalidOperationException)
{
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
请告诉我有更好的方法!
Bro*_*ass 13
您可以检查对象是否实现IMockedObject:
bool isMocked = o is Rhino.Mocks.Interfaces.IMockedObject;
Run Code Online (Sandbox Code Playgroud)
这当然需要引用RhinoMocks程序集,我会尽量避免使用您的生产代码.