2011-10-18 27 views

答えて

13

ダミー:-)

おかげで本当にFakeItEasyそれだけで何のために使用されていない、それは単にあなたがあなたのテストで使用できるダミーのインスタンスを作成するための方法です。

たとえば、次のクラスをテストしたいと言う:今

public class Foo 
{ 
    public void Bar(DateTime someDate); 
} 

、あなたのテストのいずれかで、あなたがバーのメソッドを呼び出したいが、それに渡される値は重要ではありません代わりに、書き込みのテスト、:あなたが書くことができ

foo.Bar(new DateTime(2000, 1, 1)); 

foo.Bar(A.Dummy<DateTime>()); 

この信号をそのその価値は実際にはテストにとって重要ではないので、それを使う理由の全体がインテントをより良く伝えることです。

+1

これはまだ私に無視されたように聞こえる。使い方の違いは何ですか? – cecilphillip

+0

これは自分で試しました。 A.CallTo()でA.Dummy <>を使用しています.MustHaveHappened()はA <>のように値を受け付けません。無視します。それ以外は分かりません。 –

+0

不明な点は本当にわかりません。上記のクラスFooはテストされているクラスであり、偽の権利ではないことを理解していますか? A.Dummyはダミー値を作成します。それだけです。コールの設定時には使用できません。 –

4

@PatrikHägneの答えは、ユーザーがダミーをどのように使用するかを説明していますが、ストーリーには別の部分があります。 FakeItEasyはダミーを利用しています。

FakeItEasyは、クラスのコンストラクタの1つを呼び出してFakeクラスのインスタンス(または時には別のDummyクラスのインスタンス)を作成しなければならず、コンストラクタが引数を取る場合、引数にDummiesを使用します。

Dummies documentationをチェックアウトすることをおすすめします。

関連する問題