如何使用 Rhino Mocks/模拟对象、动态模拟对象、部分模拟对象
外观
这三种类型的 Rhino Mocks 模拟解决方案之间的区别一直让我感到困惑。因此,以下是对我的一些简明定义
- 当在模拟实例上调用没有明确定义期望的方法时,普通的模拟对象将抛出异常。
- 动态模拟对象,而不是抛出异常,将针对任何意外方法调用返回 null 或 0。
- 部分模拟对象,类似于动态模拟对象,如果在没有为该方法定义期望的情况下调用方法,将不会抛出异常;但,部分模拟对象不会返回 0 或 null,而是会调用对象上的实际实现方法(即,不是模拟对象)并返回该值。这使您可以选择性地模拟对象上的特定方法。