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