[#44431] コンストラクタの引数について&インスタンス変数の持ち方について — Akira Hayakawa <ruby@...>

度々オブジェクト指向についての質問ですいません。

17 messages 2008/01/04
[#44433] Re: コンストラクタの引数について&インスタンス変数の持ち方について — Yukihiro Matsumoto <matz@...> 2008/01/04

まつもと ゆきひろです

[#44469] pdf 作成 ライブラリ — "Luiz Aoki" <luizruby@...>

はじめまして、青木ルイスと申します、

14 messages 2008/01/12
[#44479] ファイル出力時のprintについて — m-hatake@... 2008/01/16

畠山と申します。

[#44483] format %g の丸めについて — 山崎雄介 <y-yamasaki@...>

山崎(ゆ)です。

14 messages 2008/01/16

[ruby-list:44452] Re: 他のクラスに依存しているコードのテスト

From: ujihisa <ujihisa@...>
Date: 2008-01-07 22:20:10 UTC
List: ruby-list #44452
氏久です。

ほかに、ライブラリKagemushaを使う手もあります。

Nayulab. - Kagemusha(影武者)
http://labs.nayutaya.jp/?kagemusha

kagemushaを使うと、既に存在しているインスタンスに対しても
ブロック内でのみ挙動を上書きすることができます。

On Jan 7, 2008 7:45 AM, とみたまさひろ <tommy@tmtm.org> wrote:
> とみたです。
>
> On Mon, 7 Jan 2008 03:59:26 +0900
> 松田 明 <ronnie@dio.jp> wrote:
>
> > このBのfugaメソッドに対して単体テストコードを記述
> > する場合、
> > 例えば RSpecでは以下のように書けます(1個目の
> > example)。
> >
> > describe B do
> >    before do
> >      @b = B.new
> >      @a = mock(A)
> >      @a.stub!(:hoge).with('aiueo').and_return('<hoge>aiueo</hoge>')
> >      A.stub!(:new).and_return(@a)
> >    end
> >
> >    it "param for fuga() should be reversed and hogenized" do
> >      @b.fuga('oeuia').should == '<hoge>aiueo</hoge>'
> >    end
> >
> >    it "A#hoge should be called inside fuga() once with reversed param"
> > do
> >      @a.should_receive(:hoge).with('ABCDE').once
> >      @b.fuga('EDCBA')
> >    end
> > end
>
> なるほど。
>
> モックとかスタブを使うと良さそうだとは思っていたんですが、具体的な書き
> 方がわかってませんでした。
>
> 上記の A.stub!(:new).and_return(@a) で、A.new() を書き換えてしまうよう
> に思っていたのですが、stub! は example 内だけに閉じられるんですね。なの
> で、他のテストには影響を与えないと。
>
> # なんでそんなことができるのか、RSpec の実装が分かりませんが… (^^;
> # あとで調べてみます。
>
> ありがとうございました。
>
>
> --
> とみたまさひろ <tommy@tmtm.org>
> 3469 42CC 4D32 F53C AD98  65A5 8C37 FF09 69C1 6040
>
>

In This Thread

Prev Next