Есть ли способ запустить тесты на огурец с реальными производственными данными? - PullRequest
1 голос
/ 14 февраля 2012

Я пытался огурцом создать новые функции для нашего проекта, но было очень трудно найти способ запустить тесты на реальных данных.Я должен создавать сущности всего с Factory Girl, чтобы правильно их запускать, я делаю это неправильно?Или огурец - это делать каждый поток шаг за шагом, создавая фальшивые данные?Будет ли мне лучше попробовать стейк?(Rspec-Capybara)?

Пожалуйста, дайте мне знать, если кто-то сталкивался с этой проблемой, когда у вас уже есть проект с множеством функций, и вы добавляете TDD-BDD к своим обязанностям.

1 Ответ

1 голос
/ 14 февраля 2012

Цель FactoryGirl и других библиотек приборов - создавать данные, не полагаясь на производственный импорт. Импорт данных из производства для запуска ваших тестов предполагает, что поведение, которое вы тестируете, на самом деле не является поведением, которое происходит в производстве.

Новая или старая функциональность, если ваше поведение известно, определите его с помощью огурца. Начните с малого, выберите простую функциональность и создайте файл .feature. Определите ваши step_definitions для того, что вы знаете, чтобы быть правильным поведением. Затем, если ваши тесты не пройдены, исправьте это в коде приложения, а не в огурце.

Убедитесь, что ваши определения шагов выполняют тесты черного ящика. Им не нужно знать внутреннее состояние тестируемой функции, они хотят работать только с известными входами и проверять результат.

...