Я пытаюсь решить, следует ли мне использовать Cuke4Nuke или SpecFlow. Каковы плюсы и минусы каждого из них? Мнения о том, что лучше и почему.
Спасибо!
Я пытаюсь решить, следует ли мне использовать Cuke4Nuke или SpecFlow. Каковы плюсы и минусы каждого из них? Мнения о том, что лучше и почему.
Спасибо!
(Я могу быть предвзятым, потому что я связан со SpecFlow, но вот мои мысли ...)
Cuke4Nuke очень близок к Cucumber. Это сулит множество преимуществ:
Однако это также имеет некоторые потенциальные недостатки:
SpecFlow - это отдельный проект от Cucumber. Он старается быть как можно ближе к огурцу, но пробелы есть и будут. Планируется использовать тот же парсер, что и Cucumber, для улучшения совместимости на языковом уровне.
SpecFlow пытается предложить следующие преимущества:
В качестве недостатков SpecFlow я сейчас вижу:
jbandi дает хорошее резюме. Я отвечаю на этот вопрос примерно так же (конечно, с противоположной оговоркой о предвзятости).
Целью Cuke4Nuke является полная совместимость Cucumber с .NET при дублировании как можно меньшего количества кода Cucumber. Таким образом, некоторые из отмеченных вами компромиссов - например, Зависимость Ruby - присуща инструменту. Другие, такие как ошибки в поддержке языка и средства форматирования и ограниченная поддержка отладки, являются временными проблемами и исчезнут в будущих версиях.
Я столкнулся с несколькими проблемами, из-за которых Cuke4Nuke не работает так же, как Cucumber. Но поскольку я работаю в основном на английском языке, я не вижу языковых проблем в моей обычной работе. Я приветствовал бы шаги по воспроизведению любой из этих проблем, чтобы я мог их исправить. (Отправьте им список проблем с Cuke4Nuke, а не здесь.)
Еще одно крайне предвзятое мнение: попробуйте StoryQ :)
Тесты StoryQ на самом деле представляют собой код, поэтому вы получаете гораздо лучшую поддержку рефакторинга / IDE, и он встраивается в ваш существующий модуль запуска модульных тестов, поэтому CI - легкий ветерок.
Вероятно, это вопрос предпочтений, предпочитаете ли вы проверять текстовые функции или компилируемый код. Но для нас мы обнаружили, что было действительно приятно иметь возможность переименовывать методы повествования и обновлять все истории.
На самом деле существует графический интерфейс, который преобразует сценарии с обычным текстом в код StoryQ для вас, если вы уже вложили средства в сценарии с открытым текстом или если вы хотите передать клавиатуру своим деловым людям. У него даже есть простая форма intellisense!
Попробуйте, если вам нужна сверхлегкая точка входа в BDD :)
Другой предвзятый ответ: StorEvil съедает все другие инструменты .NET BDD.
Преимущества: у StorEvil есть собственная программа запуска командной строки, хорошая отчетность (с использованием механизма представления Spark) и лучший механизм перевода и выполнения в виде открытого текста -> C #.
Кроме того, в нем на 100% больше Зла, чем в любом другом решении.
Недостатки: StorEvil не полностью поддерживает другие человеческие языки (кроме английского). Интеграция StorEvil с Visual Studio пока не так хороша, как другие инструменты. StorEvil выпьет все пиво из холодильника, если вы не будете за ним следить.
Насколько я понимаю от Ричарда, он намеревается прекратить поддержку Cuke4Nuke и поддерживает перенос некоторых функций Cuk4Nuke в SpecFlow. Итак, теперь ясный ответ - SpecFlow.
Я начал с Cuke4Nuke, но с тех пор перешел на SpecFlow (извините, Ричард ;-)
Основными причинами, по которым я сделал этот переход, были:
Есть некоторые проблемы со Specflow / вещами, которые мне больше нравятся в мире Cucumber / Cuke4Nuke:
В целом, у обоих есть потенциал для улучшения того, как мы пишем программное обеспечение.