[#47861] ruby1.9.2 ruby-debug19-0.11.6.gem のローカルインストール — eiichi_maekawa@...

20 messages 2011/02/10
[#47874] Re: ruby1.9.2 ruby-debug19-0.11.6.gem のローカルインストール — eiichi_maekawa@... 2011/02/15

前川です。

[#47875] Re: ruby1.9.2 ruby-debug19-0.11.6.gem のローカルインストール — OZAWA Sakuro <sakuro@2238club.org> 2011/02/15

さくです。

[#47876] Re: ruby1.9.2 ruby-debug19-0.11.6.gem のローカルインストール — eiichi_maekawa@... 2011/02/15

[#47877] Re: ruby1.9.2 ruby-debug19-0.11.6.gem のローカルインストール — OZAWA Sakuro <sakuro@2238club.org> 2011/02/15

さくです。

[#47878] Re: ruby1.9.2 ruby-debug19-0.11.6.gem のローカルインストール — Kenta Murata <muraken@...> 2011/02/15

むらたです。

[ruby-list:47859] Re: ユニットテストでの sleep のスキップについて

From: KURODA Hiraku <hiraku@...>
Date: 2011-02-09 05:34:20 UTC
List: ruby-list #47859
畠山さま
黒田拓と申します。

(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/
--------------------------------------------------

In This Thread