FakeItEasyでダミーは何に使用されますか?A.FakeやA.Ignoredとどう違うのですか?
ありがとう :-)
ダミーは、FakeItEasy自体では実際には何にも使用されません。これは、テストで使用できるダミーインスタンスを作成するための単なる方法です。
たとえば、次のクラスをテストするとします。
public class Foo
{
public void Bar(DateTime someDate);
}
ここで、テストの1つで、barメソッドを呼び出したいが、渡される値は、次のように記述する代わりに、テストにとって重要ではありません。
foo.Bar(new DateTime(2000, 1, 1));
あなたは書ける:
foo.Bar(A.Dummy<DateTime>());
これは、値がテストにとって実際には重要ではないことを示しているため、値を使用する理由は、意図をより適切に伝達するためです。
@PatrikHägneの回答は、ユーザーがダミーを使用する方法を説明していますが、話には別の部分があります。FakeItEasyはダミーを利用します。
FakeItEasyがクラスのコンストラクターの1つを呼び出してFakeクラスインスタンス(または場合によっては別のDummyクラスインスタンス)を作成する必要があり、コンストラクターが引数を取る場合、引数にダミーを使用します。
Dummiesのドキュメントを確認することをお勧めします。