Ответ 1
В каком-то контексте я был долгое время пользователем Огурца, но всегда жалел, что это был Шпинат с первого дня. Я переключу все свои проекты на Шпинат, несмотря на его недостатки, потому что он использует новую технологию "PORO" ( "Обычные старые рубиновые объекты" ). Теперь я могу расширить свои шаги, но хочу, потому что это просто Ruby.
Чтобы ответить на ваш вопрос, начиная с этого письма:
- Поддержка по всем направлениям.
Огурцы
Spinach по-прежнему разрабатывает некоторые функции, в том числе блоки "Background", и в настоящее время я пытаюсь получить его для распознавания таблиц.
- Гибкость использования
шпината
Огурец поощряет плохой дизайн шага с самого начала, ИМО. Если вы создадите специальные действия, вы позже поработаете над ними, и если вы создадите многоразовые глобальные шаги, определения вашей функции будут длинными, универсальными и скучными для чтения. Я слышал, как люди утверждают, что они могут успешно пройти баланс и быть достаточно конкретными, но все еще могут многократно использоваться; Я считаю себя достаточно хорошо осведомленным, что если я не могу сделать это надежно, это слишком сложно.
- Интеграция сторонних инструментов и API-интерфейсов
Огурец, предполагая, что точка пули может быть интерпретирована как сообщество.
Если это действительно "сторонние инструменты и интеграция API", за которыми вы следуете, Spinach поддерживает capybara и rspec, что больше всего для вас. Огурец имеет 3-х сторонние многоразовые библиотеки шагов, но, как отмечалось в моем предыдущем пункте, я думаю, что это плохо. Что касается третьей стороны и интеграции, даже если она еще не существует, вы действительно не сможете получить ничего лучше, чем обычные старые объекты ruby.
Где капибара вписывается в изображение
Capybara - это ваш тестовый интерфейс для вашего сайта, а также тестовая мышь и клавиатура. Вы можете запустить его на консоли и управлять своим приложением, но это будет повторяться. Огурцы/Шпинат (или rspec/test-unit/minitest) могут использовать capybara для автоматизации тестирования вашего приложения. Люди предпочитают Cucumber/Spinach, потому что они помогают вам выйти из кода немного, чтобы думать как пользователь.
В целом, вам, вероятно, будет лучше всего получить книгу rspec/cucumber и делать то, что она говорит. Просто имейте в виду, что для тестирования требуется некоторое время, поэтому не останавливайтесь на достигнутом. Может быть, проверить Шпинат где-нибудь в этом процессе; если вам нравится Cucumber, вы можете найти, что вам действительно понравится Шпинат.