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 "##########"
@int_argに格納されている「b」を実現するチャンスはありますか?そして、後でそれにアクセスして目的の出力を取得するには、次のようにします。
##########
a
b
##########