我在 Ruby 应用程序中使用 ZMQ::Poller 并想编写一些 rspec 测试。由于轮询器提供了一个register
-Method 来注册一个套接字,以后可以使用 访问它readables
,所以我需要以某种方式将注册的套接字保存在我的模拟对象中。
我认为这种模式如下:
@int_var = 'a'
tst_mock = mock('Test')
tst_mock.stub(:save_method) do |arg|
@int_var = arg
end
tst_mock.stub(:return_method).and_return(@int_var)
puts "##########"
puts tst_mock.return_method
tst_mock.save_method('b')
puts tst_mock.return_method
puts "##########"
是否有机会实现将“b”存储在@int_arg 中?并稍后访问它以获得所需的输出:
##########
a
b
##########