Для чего используется Dummy в FakeItEasy?

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

Спасибо:-)

2 ответа

Решение

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

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

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

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

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

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

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

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

@Patrik Hägne ответ описывает, как пользователи могут использовать пустышку, но есть и другая часть истории. FakeItEasy использует чайников.

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

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

Другие вопросы по тегам