Проекты с открытым исходным кодом, использующие тестирование BDD?
Моя команда интересна в понимании BDD лучше.
Существуют ли проекты с открытым исходным кодом.NET/Java, которые используют разработку, основанную на поведении (BDD)?
Я хотел бы сосредоточить свое внимание на статических примерах языка.
7 ответов
Cellz, функциональное приложение для электронных таблиц в стиле Excel для Silverlight, имеет несколько тестов BDD, написанных с использованием TickSpec. Оба проекта в какой-то момент используют F#, но вы, вероятно, чему-то научитесь у них, даже если вы не F# разработчик (TickSpec можно использовать и в C#).
Фил Трелфорд, автор обоих этих проектов, также рассказал о BDD и TickSpec в группе пользователей лондонцев F#. Вы можете посмотреть запись здесь.
Я предлагаю небольшой проект, над которым я работал: WipFlash. Это инструмент автоматизации C# для WPF, с небольшим макетом зоомагазина и сценариями вокруг зоомагазина. Сценарии немного более низкого уровня, чем я бы порекомендовал (фокусируйтесь на возможностях, а не на деталях), но вы должны хотя бы понять, как начать.
Код уровня модуля также работает с использованием BDD, фокусируясь на примерах поведения, а не на методах тестирования.
И сценарии, и примеры на уровне класса написаны с использованием простого старого NUnit. BDD на самом деле не об инструментах.
Как предположил Жолт, мы разработали JBehave с использованием BDD, но я думаю, что сценарии там менее всеобъемлющие, и их трудно настроить, не углубляясь в Maven-land (извините!)
Библиотека утверждений Следует использует MSpec: http://should.codeplex.com/ (по крайней мере, интерфейс должен свободно тестировать с mspec. Я не смотрел на все это)
Orchard CMS использует SpecFlow http://www.orchardproject.net/
Spring Content использует Ginkgo4j - Java-порт Ruby RSpec BDD Framework.
Почему вы не ищете GitHub?
C# код с функциями (specflow/cucumber) в нем
C# код, который использует MSpec
Fluent NHibernate - довольно большой проект, который пользователь MSpec
Machine.Specifications тоже использует себя
Платформа Play использует BDD для тестирования, но это в Scala