犀牛模拟:如何判断对象是嘲笑还是真实?

时间:2011-09-22 21:56:37

标签: c# rhino-mocks

给定一个对象o,如何判断它是一个模拟的还是一个真正的对象?

我能看到这样做的唯一方法看起来有点黑客:

public bool IsMockedObject(object o)
{
  try
  {
    o.GetMockRepository();
    return true;
  }
  catch(InvalidOperationException)
  {
    return false;
  }
}

请告诉我有更好的方法!

1 个答案:

答案 0 :(得分:13)

您可以检查对象是否实现了IMockedObject

bool isMocked = o is Rhino.Mocks.Interfaces.IMockedObject;

这当然需要引用RhinoMocks程序集,我会尽量避免使用你的生产代码。