Альтернатива огурца для .NET.

Быстро, кто-нибудь сталкивается с библиотекой, подобной Ruby cucumber (читаемый человеком DSL для определения историй использования, которые могут быть протестированы против) в сфере .NET?

Ответ 1

Вы также должны проверить SpecFlow, то есть проект с открытым исходным кодом для создания BDD с .NET.

SpecFlow использует тот же формат определения (Gherkin), как огурец, но вы можете написать свои определения шагов в .NET. Он в основном генерирует классы модульных тестов (NUnit, MsTest, xUnit и т.д.) Из ваших файлов функций, поэтому вы можете использовать тот же механизм выполнения unit test, как и при реальных модульных тестах. Таким образом, также легче интегрировать функциональные тесты BDD в сборку интеграции.

В последних версиях SpecFlow имеет функцию раскраски синтаксиса для Visual Studio 2010 и поддержку Silverlight и Mono/MonoDevelop.

Ответ 3

В этом пространстве есть 3 возможности:

  • Используйте огурец и IronRuby. Здесь блог о некоторых шагах, чтобы начать с этого. Недостатком является производительность. Я читал учетные записи, которые говорят, что медленнее в целом, а другие, которые говорят, что это просто действительно замедляют вращение. Однако это далеко не окончательно, поскольку IronRuby все еще находится в активной разработке.

  • Используйте Cuke4Nuke. Я слышал, что этот продукт рекомендуется несколько раз. Он фактически использует обычные Ruby и Cucumber, но запускает ваш код .NET через сервер. К счастью, все это осложнение прозрачно, поскольку вы его используете. Cuke4Nuke больше не находится в активной разработке.

  • Используйте SpecFlow. Это порт Cucumber.NET. Из-за этого он может не иметь всех функций Cucumber, и у него могут быть дополнительные функции. Самое приятное, что вам не нужно устанавливать Ruby.

В настоящее время не ясно, какой из них является лучшим вариантом. Лично я планирую начать с Cuke4Nuke.

Ответ 5

Рассказчик несколько связан, хотя он не является строго BDD. Кажется, он поддерживает несколько иной тип теста, но написан на .NET. Подробнее о Блог Джереми Миллерса

Ответ 6

Существует также StoryQ. Это децентрализованный подход к рассказам пользователей, которые могут сообщать о возврате клиентов. http://storyq.codeplex.com

StoryQ - это переносимая (одиночная dll) встроенная BDD-инфраструктура для .NET 3.5. Он работает в пределах вашего существующего тестового бегуна и помогает создавать удобные для пользователя результаты тестирования (html или текст). Свободный интерфейс StoryQ добавляет сильную типизацию, intellisense и документацию к вашей грамматике BDD.

Ответ 7

BDD на простом английском языке можно сделать с помощью Concordion.NET. Спецификации ожидаемого поведения написаны в HTML.

Любые предложения любой структуры могут использоваться для тестов Concordion.NET. Например, нет необходимости писать предложение, такое как "с учетом банковского счета с балансом 10 $, когда инициируется вывод 20 долларов, транзакция не выполняется". Вместо этого можно использовать любой тип предложения, например, "сбой транзакции 20 $, если в учетной записи недостаточно баланса 10 $".

Тесты Concordion.NET выполняются с помощью NUnit, который интегрирован во множество разных сред: https://github.com/concordion/concordion-net