Фальшивые данные в тестах

Тесты — это не только инструмент для автоматической проверки кода и его корректности, но и отличная документация. Каждый раз, когда мне что-то непонятно в документации к библиотеке, я смотрю на спецификации и быстро нахожу ответ на свой вопрос.

В тестах лучше всего использовать данные, максимально приближенные к реальным: «Пользователь» → «Иван Павлов», «ip» → «82.100.200.3», пустой файл → jpeg с вашей кошкой. Таким образом мы получаем хорошую документацию и хорошие примеры использования нашего API.

Чтобы тесты были последовательными, я предпочитаю использовать один домен для тестовых данных. Например, я часто использую:

1. Персонажи и цитаты из «Симпсонов»:

user = User.new(name: "Bart Simpson", email: "bart@simpson.dev")

expect(user.to).to eq "Bart Simpson <bart@simpson.dev>"
Вход в полноэкранный режим Выход из полноэкранного режима

2. Персонажи и цитаты из боевиков 90-х:

comment: "Dead or alive... you're coming with me"
Войти в полноэкранный режим Выйти из полноэкранного режима

3. Лирика песен Эминема или Бейонсе (пожалуйста, не спрашивайте):

do_request(text: "In my shoes, just to see what it's like to be me")
Войти в полноэкранный режим Выйти из полноэкранного режима

P. S. Некоторые из вас могут упомянуть Faker. Я не использую его, так как считаю, что это анти-паттерн. Я расскажу об этом подробнее в следующем посте.

Оцените статью
Procodings.ru
Добавить комментарий