2009-09-01 4 views
1

Мы с коллегой пишем приложение, которое мы намерены открыть с открытым исходным кодом, и пытаемся определить структуру тестирования. Без интеграции NUnit (один из нас имеет resharper, а другой нет), мы склоняемся к MSTest. Однако, если большинство людей, работающих на open source .net-приложениях, имеют только экспресс-версию Visual Studio, возможно, нам придется передумать.Использование MSTest в проекте с открытым исходным кодом

Какую версию VS вы используете, и MSTest превратит вас в проект с открытым исходным кодом?

ответ

2

Лично я использую VS: TS, поэтому нет, тестовые единицы в MSTest не будут меня отключать для меня;), с другой стороны, скорее всего, вы получите разные ответы от большинства людей , которые также не являются профессиональными программистами (работа на деньги не означает, что вы не можете работать с проектами ОС) (вопрос в том, сколько вы найдете здесь).
Однако, если я вас правильно понимаю, вы не хотите использовать NUnit, потому что вы это не интегрирована с VS08, вы можете затем проверить эти проекты:
1. http://sourceforge.net/projects/visualnunit/
2. http://sourceforge.net/projects/nunitaddin/
Интеграция NUnit с VS08 не кажется самой большой проблемой, с другой стороны, получение VS со встроенной тестовой инфраструктурой может быть немного сложнее, по крайней мере для некоторых людей.

+0

Другой разработчик попробовал visualnunit, но он запер его VS. Мы не знали, что существует версия TestDriven.Net с открытым исходным кодом - спасибо! – Chance

2

Честно говоря, я никогда не слышал никого, кто использовал экспресс-издания. все, кого я знаю, или я говорил с использованием полностью полноценной среды Visual Studio, или они используют компилятор/библиотеки из бесплатного SDK и некоторого редактора поверх него (CodeWarrior, CodeInsight и т. д.) и полагаются на какой-то вариант make для сборки.

Что касается испытательного каркаса, это меч с двойным острием. Я бы рекомендовал NUnit, но потом ... помните, что случилось с NDoc?

+0

Что случилось с NDoc? –

+0

@Martinho: http://channel9.msdn.com/forums/Coffeehouse/214985- The-Sad-Death-of-NDoc/ –

2

Если бы я действительно чувствовал себя достаточно сильно, чтобы участвовать в проекте с открытым исходным кодом, одного MSTest не хватило бы, чтобы оттолкнуть меня. Я бы хотел адаптироваться ко всем инструментам разработки/окружающей среде.

... и для чего это стоит, я использую полную версию Visual Studio с Resharper.

1

Я использую VS 2k8 proMSTest по возможности.

1

Даже открытый исходный код Microsoft (Prism/Composite Wpf) не использует MSTest. Я полагаю, они используют NUnit для этого проекта.

1

Возможно, вы сможете использовать визуальный nunit для добавления тестирующего бегуна nunit в VS. link Я никогда не использовал его, но это может стоить того.

1

Если ваша проблема заключается в интеграции с Visual Studio, попробуйте Gallio. Он включает в себя MbUnit, но его бегун может запускать тесты из других фреймворков, таких как NUnit, xUnit и т. Д.

1

Это отключит меня. См. MSBuild, NAnt, NUnit, MSTest, and frustration (не написано мной!). Я подозреваю, что многие люди так себя чувствуют. MSBuild кажется неудачной копией NAnt (мы используем оба), а MSTest также выглядит как обычный «не придуманный» Microsoft ответ на открытый исходный код. Хотя я понимаю, что у Microsoft есть хорошие бизнес-причины для разработки собственных инструментов, эти причины не применяются к их клиентам.

Есть плагины для использования NUnit внутри Visual Studio без ReSharper, или вы всегда можете настроить его для запуска из меню «Инструменты».

Если вам не нравится NUnit, пожалуйста, рассмотрите одну из других альтернатив тестирования с открытым исходным кодом. См. NUnit vs. MbUnit vs. MSTest vs. xUnit.net

1

Я думаю, что люди, которые не используют окна, будут выбиты из проекта по выбору, чтобы использовать MSTest. Большинство других библиотек тестирования C# доступны в моно, что и будут использовать пользователи mac и linux.

Я не знаю, сколько кросс-платформенных разработчиков вы пытаетесь привлечь, но если это проблема, вам нужно рассмотреть Linux/Mac devs.