c# - 犀牛模拟 : How to tell if object is mocked or real?

标签 c# rhino-mocks

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

我认为这样做的唯一方法看起来有点老套:

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

请告诉我有更好的方法!

最佳答案

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

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

这当然需要引用 RhinoMocks 程序集,我会尽量避免在您的生产代码中出现这种情况。

关于c# - 犀牛模拟 : How to tell if object is mocked or real?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7521974/

相关文章:

c# - 带有加载和表单模型的 MVC View

c# - SoapException 服务器无法处理 MVC 站点中 ASMX web 服务的请求

c# - 使用 Rhino.Mocks stub 属性 setter 以在调用时执行操作?

c# - 模拟 NHibernate IQueryOverOrderBuilder 对象

c# - 使用 UnitofWork 模式的 Rhino 模拟 Entity Framework 不起作用

c# - 在单元测试期间呈现 View - ControllerContext.DisplayMode

c# - 与 Entity Framework Core 的左外连接

c# - 如何将验证处理从 Controller 操作转移到装饰器

c# - Console.ReadLine() 不在 C# 中保持控制台打开

asp.net-mvc - 模拟 Asp.net-mvc Controller 上下文