我不清楚目的as_null_object是什么以及在什么情况下你会使用它?根据Relish的文件:
使用该
as_null_object方法可以忽略未明确设置为存根或消息期望的任何消息.
没有在我这里注册.
RSpec书解释了这一点.我建议你阅读它.
... as_null对象告诉模拟对象只监听我们告诉它的消息,并忽略任何其他消息.
因此,假设您的一个示例具有以下代码:
...
my_object = mock("my_object" ).as_null_object
other_thing = OtherThing.new(my_object)
my_object.should_receive(:some_method).with("string parameter value")
...
Run Code Online (Sandbox Code Playgroud)
如果OtherThing的初始化代码向my_object发送不是"some_method"的其他消息(执行其他方法),则此示例将不会监听它们,将测试隔离到您实际要在此处测试的内容.
| 归档时间: |
|
| 查看次数: |
2765 次 |
| 最近记录: |