[#47809] Ruby1.9.2 ローカルでのデバッグ環境構築 — eiichi_maekawa@...
5 messages
2011/02/01
[#47817] 参照渡しの実現方法は? — "YOSHIIZUMI" <t-yoshiizumi@...>
吉泉といいます。
8 messages
2011/02/01
[#47829] mingw32 DBI使用で、エラー — eiichi_maekawa@...
5 messages
2011/02/03
[#47847] ruby1.9での文字列について — Nobuyuki Inaba <nobuyuki.inaba@...>
稲葉と申します。
10 messages
2011/02/08
[#47849] Re: ruby1.9での文字列について
— KOSAKI Motohiro <kosaki.motohiro@...>
2011/02/08
2011年2月8日18:35 Nobuyuki Inaba <nobuyuki.inaba@gmail.com>:
[#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
むらたです。
[#47883] Re: ruby1.9.2 ruby-debug19-0.11.6.gem のローカルインストール
— eiichi_maekawa@...
2011/02/15
むらたさん、
[#47884] Re: ruby1.9.2 ruby-debug19-0.11.6.gem のローカルインストール
— OZAWA Sakuro <sakuro@2238club.org>
2011/02/15
さくです。
[#47885] Re: ruby1.9.2 ruby-debug19-0.11.6.gem のローカルインストール
— eiichi_maekawa@...
2011/02/15
前川です。
[#47886] Re: ruby1.9.2 ruby-debug19-0.11.6.gem のローカルインストール
— OZAWA Sakuro <sakuro@2238club.org>
2011/02/15
さくです。
[#47887] Re: ruby1.9.2 ruby-debug19-0.11.6.gem のローカルインストール
— eiichi_maekawa@...
2011/02/15
前川です。
[#47865] system関数について — "鈴木 昭二" <s-suzuki@...>
はじめまして、鈴木と申します。
6 messages
2011/02/11
[#47892] rails3, mysql2, twitterで落ちる — daisuke sugimori <daixque@...>
杉森といいます。
7 messages
2011/02/17
[#47899] [ANN] RubyKaigi2011: Call for presentations — SASADA Koichi <ko1@...>
みなさま
8 messages
2011/02/17
[#47913] 2 種類のリテラル — "KISHIMOTO, Makoto" <ksmakoto@...4u.or.jp>
きしもとです
9 messages
2011/02/23
[#47922] Erubis新機能予告 (Re: eRuby における % 行) — Makoto Kuwata <kwa@...>
桑田です。Erubisについてのお知らせです。
8 messages
2011/02/23
[ruby-list:47850] ユニットテストでの sleep のスキップについて
From:
masa <masap.hat@...>
Date:
2011-02-08 18:25:40 UTC
List:
ruby-list #47850
畠山です。
自分でいろいろやってはみたもののうまい解決方法が見つからなかったので、もしどなたか何か良いアイデアがありましたらアドバイスお願いします。
(似たような状況は私以外にも多分結構あるだろうとも思うので少々長いですが投稿させてもらいます。)
* 問題状況
ユニットテストであるクラスのメソッドをテストしているのですが、いくつかのメソッドに sleep が入っています。
それぞれ数秒〜30秒くらいが設定されていて、これをそのままテストすると各テストで毎回数十秒間止まってしまいます。
(テスト数が多いのでこれはなんとか避けたい)
あるメソッドに関してはこの sleep はスキップしても問題ないのですが、あるメソッドでは sleep は必要な処理でテスト中でもスキップできません。
* やりたいこと(できたらうれしいこと)
そこであるテストケースだけ sleep をスキップして、あるテストケースでは sleep をスキップしない、ということはできるかどうか。
* やってみたこと
テストケースの始めに
def sleep(arg)
end
などと再定義すればスキップできますが、これではすべてのテストケースに反映されてしまいます。
また flexmock で
flexstub(Kernel).should_receive(:sleep)
などとしてもだめでした。
つまりは、flexmock を使って Kernel モジュールで定義されているメソッドを再定義できるとうれしいです。
もしくは、各テストケースで sleep を無理矢理 Thread#run させるようなことができてもうれしいです。
別々にテストをすれば済むことですが、テスト数が多すぎるので以下のような suite.rb を自前で用意して一括してテストを実行しています。
suite.rb
----
Dir.foreach(".") do |file|
if file =~ /test.+\.rb/ and file != __FILE__
require file
end
end
具体的には以下のテストで Klass1#method の sleep はスキップさせて、Klass2#method では sleep
を有効にできないか、と考えています。
klass.rb
----
class Klass1
def method
sleep(100)
end
end
class Klass2
def method
sleep(2)
end
end
----
testcase.rb
----
require 'klass'
require 'test/unit'
=begin
def sleep(arg)
arg
end
=end
class TestKlass1 < Test::Unit::TestCase
def test_method
obj = Klass1.new
assert_equal(100, obj.method)
end
end
class TestKlass2 < Test::Unit::TestCase
def test_method
obj = Klass2.new
assert_equal(2, obj.method)
end
end
----
長々すいませんでしたがどうぞよろしくお願いします。
畠山