From: KURODA Hiraku Date: 2011-02-09T14:34:20+09:00 Subject: [ruby-list:47859] Re: ユニットテストでの sleep のスキップについて 畠山さま 黒田拓と申します。 (2011年02月09日 03:25), masa wrote: > また flexmock で > > flexstub(Kernel).should_receive(:sleep) > > などとしてもだめでした。 この件ですが、対象クラスのオブジェクトその物でstubしたらうまくスキップで きました。インスタンスメソッドでのsleep呼び出しはKernel.sleepではなく、 Object#sleepを呼んでいるのでしょう。 以下、サンプルです。 --- class C def wait sleep(3) end end class TestC < Test::Unit::TestCase def test_wait c = C.new flexstub(Kernel).should_receive(:sleep) C.new.wait # 3秒待つ end def test_wait2 c = C.new flexstub(c).should_receive(:sleep) c.wait # 待たない end end --- -- -------------------------------------------------- 黒田 拓(くろだ ひらく) hiraku@sapporo.email.ne.jp http://www.hinet.mydns.jp/ --------------------------------------------------