OCMClassMock 和 OCMStrictClassMock
OCMClassMock and OCMStrictClassMock
我是OCMock 3的新手,我看到有两种方法:
OCMClassMock(cls): creates a new nice class mock object
OCMStrictClassMock(cls): creates a class mock object
我读了文档,但我仍然感到困惑,有两个问题:
OCMClassMock(cls)
和OCMStrictClassMock(cls)
到底有什么区别?
什么时候应该使用OCMClassMock(cls)
,什么时候应该使用OCMStrictClassMock(cls)
?
====更新====
我可以理解为 OCMClassMock(cls)
是部分模拟,当调用它的方法时,真正的实现仍然 运行 而 OCMStrictClassMock(cls)
是一个像骨架一样的完整模拟,没有真正的实现?
Can I understand as OCMClassMock(cls)
is partial mock that the real
implementation still run when call method on it
这描述了 OCMPartialMock
。
OCMStrictClassMock(cls)
is a full mock like a skeleton without real
implementation?
这是对 OCMClassMock
的准确概括描述。
来自您链接的参考资料:
[OCMStrictClassMock
] Creates a mock object in strict mode. By
default mocks are nice, they return nil (or the correct default value
for the return type) for whatever method is called. In contrast,
strict mocks raise an exception when they receive a method that was
not explicitly expected.
所以正如您所说,OCMClassMock
就像一个实例的框架,您只对需要使用的方法进行存根。 OCMClassMock
和 OCMStrictClassMock
之间的区别在于,前者将简单地 return nil 用于您尚未显式存根的方法,而后者将在您调用方法时抛出异常它是你没有明确存根的。
我是OCMock 3的新手,我看到有两种方法:
OCMClassMock(cls): creates a new nice class mock object
OCMStrictClassMock(cls): creates a class mock object
我读了文档,但我仍然感到困惑,有两个问题:
OCMClassMock(cls)
和OCMStrictClassMock(cls)
到底有什么区别?什么时候应该使用
OCMClassMock(cls)
,什么时候应该使用OCMStrictClassMock(cls)
?
====更新====
我可以理解为 OCMClassMock(cls)
是部分模拟,当调用它的方法时,真正的实现仍然 运行 而 OCMStrictClassMock(cls)
是一个像骨架一样的完整模拟,没有真正的实现?
Can I understand as
OCMClassMock(cls)
is partial mock that the real implementation still run when call method on it
这描述了 OCMPartialMock
。
OCMStrictClassMock(cls)
is a full mock like a skeleton without real implementation?
这是对 OCMClassMock
的准确概括描述。
来自您链接的参考资料:
[
OCMStrictClassMock
] Creates a mock object in strict mode. By default mocks are nice, they return nil (or the correct default value for the return type) for whatever method is called. In contrast, strict mocks raise an exception when they receive a method that was not explicitly expected.
所以正如您所说,OCMClassMock
就像一个实例的框架,您只对需要使用的方法进行存根。 OCMClassMock
和 OCMStrictClassMock
之间的区别在于,前者将简单地 return nil 用于您尚未显式存根的方法,而后者将在您调用方法时抛出异常它是你没有明确存根的。