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

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

В тестах лучше всего использовать данные, максимально приближенные к реальным: “Пользователь” → “Иван Павлов”, “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
Добавить комментарий