Быстро, кто-нибудь сталкивается с библиотекой, подобной Ruby cucumber (читаемый человеком DSL для определения историй использования, которые могут быть протестированы против) в сфере .NET?
Альтернатива огурца для .NET.
Ответ 1
Вы также должны проверить SpecFlow, то есть проект с открытым исходным кодом для создания BDD с .NET.
SpecFlow использует тот же формат определения (Gherkin), как огурец, но вы можете написать свои определения шагов в .NET. Он в основном генерирует классы модульных тестов (NUnit, MsTest, xUnit и т.д.) Из ваших файлов функций, поэтому вы можете использовать тот же механизм выполнения unit test, как и при реальных модульных тестах. Таким образом, также легче интегрировать функциональные тесты BDD в сборку интеграции.
В последних версиях SpecFlow имеет функцию раскраски синтаксиса для Visual Studio 2010 и поддержку Silverlight и Mono/MonoDevelop.
Ответ 2
Конечно. Он назывался Cucumber. Вот пример того, как протестировать .NET-код в Каталог примеров огурцов и документацию по Wiki огурца для . NET и Mono.
Ответ 3
В этом пространстве есть 3 возможности:
-
Используйте огурец и IronRuby. Здесь блог о некоторых шагах, чтобы начать с этого. Недостатком является производительность. Я читал учетные записи, которые говорят, что медленнее в целом, а другие, которые говорят, что это просто действительно замедляют вращение. Однако это далеко не окончательно, поскольку IronRuby все еще находится в активной разработке.
-
Используйте Cuke4Nuke. Я слышал, что этот продукт рекомендуется несколько раз. Он фактически использует обычные Ruby и Cucumber, но запускает ваш код .NET через сервер. К счастью, все это осложнение прозрачно, поскольку вы его используете. Cuke4Nuke больше не находится в активной разработке.
-
Используйте SpecFlow. Это порт Cucumber.NET. Из-за этого он может не иметь всех функций Cucumber, и у него могут быть дополнительные функции. Самое приятное, что вам не нужно устанавливать Ruby.
В настоящее время не ясно, какой из них является лучшим вариантом. Лично я планирую начать с Cuke4Nuke.
Ответ 4
Я написал сообщение в блоге с подробным описанием процесса, который я выполнил, чтобы получить Cucumber с IronRuby: http://hotgazpacho.org/2009/06/cucumber-and-ironruby-it-runs/
Ответ 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
Ответ 8
У меня есть статья, показывающая, как использовать Cucumber с С# в http://blog.webintellix.com/2009/10/how-to-use-cucumber-with-net-and-c.html Время работы значительно улучшилось с помощью IronRuby 1.0.