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