Какой самый лучший способ реализации BDD / TDD в .NET 2.0?

голоса
20

Я ищу, чтобы добавить Testing Suite для моего приложения, однако я не могу перейти на более новые рамки тестирования для .NET 3.5.

Кто-нибудь есть предложение о хороших рамках тестирования для использования?

Задан 05/08/2008 в 13:50
источник пользователем
На других языках...                            


12 ответов

голоса
9

NUnit и Rhino хорошо подходят и авто-насмешливый контейнер может представлять интерес.

Если вы смотрите на BDD тоже тогда NBehave , вероятно , является хорошим выбором. Если же вы просто имеете в виду стиль BDD , который относится к модульного тестирования (xSpec) , хотя вы можете уйти с добавлением рамки (хотя такие вещи , как specunit сделать добавить synctactic сахар), но вы можете захотеть взглянуть на MSpec тоже интересно.

Ответил 12/09/2008 в 11:02
источник пользователем

голоса
7

Проверьте скринкаст Роба Конери на BDD с помощью MSpec. Очень впечатляет http://blog.wekeroad.com/mvc-storefront/kona-3/

Изменить: Я теперь использую этот подход: http://10printhello.com/the-one-bdd-framework-to-rule-them/

Ответил 17/06/2009 в 13:27
источник пользователем

голоса
7

Мы используем MbUnit и Rihno Mocks и они оказываются очень хорошо работают вместе. При выполнении TDD вы почти наверняка нужно сделать некоторую форму инъекции зависимостей, в то время как это может быть сделано вручную, его стоит смотреть на контейнер IoC , таких как замок Виндзор .

Он стоит , глядя на экран Джона Пола Bodhood бросает , чтобы вы начали. Блог Jpb в

Ответил 06/08/2008 в 15:16
источник пользователем

голоса
4

Это, вероятно, краткое изложение того, что уже было сказано, но для TDD я лично использую Rhino Mocks и MBUnit. Rhino Mocks является насмешливыми рамками, является свободным и открытым исходным кодом. Преимущество Rhino Mocks, что мы не должны использовать волшебные строки в настройке ваших ожиданий, как вы в NMock.

Мне нравится, потому что MBUnit MbUnit имеет концепцию RowTests, которые позволяют изменять свои входы в ваш метод тестирования. MBUnit также в свободном доступе.

Вы также хотите, чтобы убедиться, что все, что вы выбираете для инфраструктуры модульного тестирования поддерживается вашим CI (Continuous Integration Server). Nunit поддерживается по умолчанию в Cruise Control.NET, и вы должны сделать немного больше работы, чтобы получить MBUnit работать в CCNET.

С точки зрения IDE вы должны иметь TestDriven.NET. TestDriven.NET позволяет правой кнопкой мыши и запустить тесты в IDE и поддерживает MBUnit и NUnit и другие.

NBehave это библиотека BDD я использовал. Я не использовал любые другие, так что я не мог сравнить их с вами, но NBehave поддерживается Gallio из команды MBUnit, что означает, что вы можете запустить тесты BDD так же, как вы бы ваши модульные тесты с TestDriven.NET.

Я хотел бы также настоятельно рекомендую Resharper. Вы найдете значительно повысить продуктивность вашей работы с этим рефакторинга и наведения инструмента. Это поможет вам изменить свой код, как вы развиваете свои тесты.

Надеюсь это поможет

Ответил 10/10/2008 в 19:06
источник пользователем

голоса
4

Я имел большой успех , используя NUnit , а также.

Я также использовал NMock , когда возникла необходимость в фиктивных объектов. В качестве дополнительного бонуса, завод для создания ваших фиктивных объектов называется Издевательством.

Для того, чтобы облегчить проведение модульных тестов я использовал TestDriven.NET запустить юнит - тесты , как я закодированы. Кроме того , я использовал Cruise Control .NET смотреть SVN и убедитесь , что каждый новый фиксации сборки и проходит все модульные тесты.

Ответил 06/08/2008 в 15:06
источник пользователем

голоса
4

Для Mock библиотеки объектов, я нашел BSD лицензии Rhino.Mocks быть весьма приятными.

Ответил 05/08/2008 в 13:54
источник пользователем

голоса
3

Я буду иметь , чтобы поставить крик для Moq . Это чистая основа свет насмешливый , который помогает направлять вас в яму успеха.

Тестовые инструменты, встроенные в TFS все в порядке, они получат работу, но часто может быть немного громоздким, чтобы работать. Сформированные отчеты, покрытие кода и несколько других частей, особенно плохо, они делают вас лысеть в 22, а не 50.

Если вы действительно любя тестирование, пытаясь рассмотреть некоторые непрерывной интеграции. Вы будете чувствовать боль от регресса быстро и потенциально помочь вам добраться до конечной цели быстрее.

Независимо от того, что вы попробовать несколько и посмотреть, какой из них является наиболее естественным, если у вас есть время. Удачи и счастливого кодирования.

Ответил 27/09/2008 в 05:28
источник пользователем

голоса
3

Использование NUnit с TFS не так уж сложно. Там даже проект на CodePlex , чтобы осуществить это: NUnit для Team Build , который даже «публикует» результаты на склад.

Я не пробовал - но я бы посоветовал клиентам, которые имеют большие инвестиции (или которые имеют сильное предпочтение для него над инструментом MSTest) в NUnit, которые заинтересованы в реализации TFS продолжать NUnit в противоположность попытке преобразовать все их существующие тесты.

Ответил 07/09/2008 в 13:58
источник пользователем

голоса
3

NUnit доступна на http://www.nunit.org я хотел бы предложить это , даже при работе на MS стек - поддержка рамок не-MS происходит в превью MVC , которая показывает определенное движение в правильном направлении , чтобы позволить нам все , чтобы настроить нашу стеку , чтобы соответствовать.

Ответил 05/08/2008 в 14:03
источник пользователем

голоса
2

Для моего проекта я использовал NUnit и TestDriven.NET с большим успехом. Вы можете либо создать отдельную библиотеку только для размещения вашего тестового кода или вы можете поместить его в исполняемом файле или библиотеке. Все это зависит, если вы хотите, чтобы ваш производственный код, который будет переплетаться с тестовым кодом.

Для Dependency Injection, я использую Ninject в моем текущем проекте и отлично работают. При использовании Конструктора инъекции, вам не нужно загромождать код с [Inject] атрибутом.

Я не использовал макет библиотеки для моего проекта .NET 2.0 , но для другого проекта .NET 3.5 Я буду использовать Moq

Обратите внимание, что все это работает с .NET 2.0 и выше. (За исключением Moq)

Ответил 17/06/2009 в 13:48
источник пользователем

голоса
2

Я рекомендую следующее:

TestDriven.NET - Модульное тестирование приплюсовать для VS , который полностью интегрирован со всеми основными рамками модульного тестирования , включая NUnit, MbUnit и т.д ...

Typemock Изолятор - насмешливый рамки для .Net модульного тестирования

NUnit - открытая структура блока источника тестированиякоторый находится в C #.

Ответил 15/10/2008 в 15:24
источник пользователем

голоса
2

NUnit всегда мой фаворит. Однако, если вы используете TFS в качестве источника управления, я предлагаю вам придерживаться Microsoft Stack.

Ответил 05/08/2008 в 13:51
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more