Для чего используется Dummy в FakeItEasy? - PullRequest
12 голосов
/ 18 октября 2011

Для чего используется Dummy в FakeItEasy?Чем он отличается от A.Fake или A.Ignored?

Спасибо: -)

Ответы [ 2 ]

13 голосов
/ 18 октября 2011

Пустышка на самом деле ни для чего не используется самой FakeItEasy, это просто способ создания фиктивных экземпляров, которые вы можете использовать в своих тестах.

Например, скажем, что вы хотите проверить следующий класс:

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

Теперь в одном из ваших тестов вы хотите вызвать метод bar, но переданное ему значение не важно для теста, вместо того, чтобы писать:

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

Вы можете написать:

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

Это говорит о том, что значение на самом деле не важно для теста, поэтому основная причина его использования заключается в том, чтобы лучше донести намерение.

4 голосов
/ 11 августа 2013

@ Ответ Патрика Хагне описывает, как пользователи могут использовать пустышку, но есть и другая часть истории.FakeItEasy использует Dummies.

Когда FakeItEasy должен создать экземпляр класса Fake (или иногда другой экземпляр класса Dummy), вызвав один из конструкторов класса, а конструктор принимает аргументы, он будет использовать Dummies дляаргументы.

Я рекомендую вам ознакомиться с документацией Dummies .

...