Быстро ли, кто-нибудь сталкивается с библиотекой, подобной огурцу Руби (читаемый человеком DSL для определения историй использования, который может быть протестирован против) в сфере .NET?Альтернатива огурца для .NET.
ответ
Вы должны также проверить SpecFlow, что является открытым исходным кодом проекта, чтобы сделать BDD с .NET.
SpecFlow использует тот же формат определения (Gherkin), как огурец, но вы можете написать определения шага в .NET. Он в основном генерирует классы модульных тестов (NUnit, MsTest, xUnit и т. Д.) Из ваших файлов функций, поэтому вы можете использовать один и тот же механизм выполнения тестовых блоков, как и с реальными модульными тестами. Таким образом, легче интегрировать функциональные тесты BDD в сборку интеграции.
В последних версиях SpecFlow имеет функцию раскраски синтаксиса для Visual Studio 2010 и поддержку Silverlight и Mono/MonoDevelop.
Несомненно. Это называется Cucumber. Вот пример того, как протестировать .NET-код в Cucumber examples directory и документацию по вики-огурцам для .NET и Mono.
Я попытался это, но продолжал ударять шишка с запуском ICucumber обертки. Сообщение, которое я сказал, что файл конфигурации .yml отсутствует. – Owen
Пробовал все описанное здесь: http://thomaslundstrom.blogspot.com/2009/03/on-getting-started-with-using-cucumber.html – Owen
Я предполагаю, что вы имеете в виду это сообщение: «огурец. yml не найден. Пожалуйста, обратитесь к документации огурца по определению профилей в cucumber.yml. Вы должны определить профиль по умолчанию, чтобы использовать команду огурца без каких-либо аргументов. Введите «огурец --help» для использования. (Cucumber :: Cli :: YmlLoadError) ", правильно? Очевидный вопрос, когда программа жалуется, что не может найти файл, является ли файл на самом деле там или нет? Потому что, если файла нет, то причина, по которой он не может быть найден, является очевидным ... –
Я написал сообщение в блоге с подробным описанием процесса я следовал, чтобы Огурцы работает с IronRuby: http://hotgazpacho.org/2009/06/cucumber-and-ironruby-it-runs/
Идите, дайте ему пройти и вернуться к вам. – Owen
Я также работаю над портированием win32console на IronRuby, чтобы мы могли получать цветной консольный вывод, как в МРТ: http://github.com/hotgazpacho/ironruby-win32console/ –
Там, кажется, 3 возможности в этом пространстве:
Используйте Огурец и IronRuby. Here's a blog на некоторых шагах, чтобы начать с этого. Недостатком является производительность. Я читал счета, которые говорят его slower in general, и другие, которые говорят, что это всего лишь really slow to spin up. Это далеко не окончательно, поскольку IronRuby все еще находится в активном развитии.
Cuke4Nuke. Я слышал, что этот продукт рекомендуется несколько раз. Он фактически использует обычные Ruby и Cucumber, но запускает ваш код .NET через сервер. К счастью, все это осложнение прозрачно, поскольку вы его используете. Cuke4Nuke больше не находится в активной разработке.
SpecFlow. Это порт Cucumber .NET. Из-за этого у него могут не быть всех функций Cucumber, и у него могут быть дополнительные функции. Самое приятное, что вам не нужно устанавливать Ruby.
В настоящее время не ясно, какой из них является лучшим вариантом. Лично я планирую начать с Cuke4Nuke.
Для тех, кто читает это, кажется, что Cuke4Nuke устарел в пользу SpecFlow http://www.richardlawrence.info/2011/10/21/the-future-of-cucumber-on-net/ – GuiSim
StoryTeller несколько связан, хотя он не является строго BDD. Кажется, он поддерживает несколько иной тип теста, но написан на .NET. Подробнее о Jeremy Millers blog
Существует также StoryQ. Это децентрализованный подход к рассказам пользователей, которые могут сообщать о возврате клиентов. http://storyq.codeplex.com
StoryQ - это портативная (единственная dll) встроенная BDD-инфраструктура для .NET 3.5. Он работает в пределах вашего существующего тестового бегуна и помогает создавать удобные для пользователя результаты тестирования (html или текст). Свободный интерфейс StoryQ добавляет надежную типизацию, intellisense и документацию к вашей грамматике BDD.
У меня есть статья, показывающая, как использовать огурец с C# в http://blog.webintellix.com/2009/10/how-to-use-cucumber-with-net-and-c.html Время выполнения значительно улучшилось с помощью IronRuby 1.0.
BDD in plain English можно сделать с Concordion.NET. Спецификации ожидаемого поведения написаны в HTML.
Любые предложения любой структуры могут использоваться для тестов Concordion.NET. Например, нет необходимости писать предложение, такое как «с учетом банковского счета с балансом 10 $, когда инициируется вывод 20 долларов, транзакция не выполняется». Вместо этого можно использовать любой тип предложения, например, «сбой транзакции 20 $, если в учетной записи недостаточно баланса 10 $».
тестов Concordion.NET выполняются с помощью NUnit, который интегрирован в различных средах: https://github.com/concordion/concordion-net
Ницца, отлично выглядит. Спасибо – Owen