Проекты с открытым исходным кодом, использующие тестирование 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 (извините!)

Я получил это для Java:

Библиотека утверждений Следует использует 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

https://github.com/playframework/playframework/blob/master/framework/src/play-json/src/test/scala/play/api/libs/json/JsonTransSpec.scala

Другие вопросы по тегам