2009-06-19 4 views
1

У меня есть проект в .NET Framework 3.5, и, как я вижу, nUNIT еще не поддерживает его. Какую модульную структуру тестирования вы бы порекомендовали для моих нужд?Какая модульная платформа для .NET Framework 3.5?

+0

Зачем нужна явная поддержка .NET 3.5? В конце концов, это все еще 2.0 CLR, и если я правильно помню, NUnit поддерживает 2.0. – OregonGhost

+0

Что вы подразумеваете под этим? У меня есть проект в .NET 3.5 и с nUnit 3.5 я получаю исключение NullReferenceException. Так что кажется, что он не поддерживается –

+0

Мы используем NUnit в проекте 3.5 в течение 15 месяцев. Он работает отлично. Но попытались ли вы создать новый проект в 3.5 с помощью всего одного простого Assert.IsTrue (true) в одном тесте? Это должно исключить возможность того, что он находится в вашем коде. –

ответ

8

NUnit отлично работает в .NET 3.5 - Я использовал его (с помощью ReSharper), начиная с бета-версий VS2008.

+0

@ Tomaszs- Я также использовал NUnit с .NET 3.5. Вы должны помнить, что .NET 3.5 действительно CLR 2.0 + некоторые дополнительные DLL. – RichardOD

+0

Здравствуйте, я создал примерное решение, и когда я пытаюсь запустить его в NUnit 2.5, я получаю ошибку: System.NullReferenceException ... на NUnit.Util.TestLoader.ReloadTest (RuntimeFramework framework) –

+0

Вы собираетесь опубликовать ссылку к этому решению? Вы сообщили об этом команде NUnit? Это определенно работает только с .NET 2.0? Похоже, вы спешите на необоснованный вывод здесь. –

3

Я пробовал Gallio и, похоже, хорошо работает. Он отлично справляется с тестировщиком ReSharper.

[править]

Просто думал, что я упомяну, что Gallio это следующий эволюционный шаг от MbUnit, так что это не совсем новая вещь.

1

Как сказал Джон, NUnit отлично работает с 3.5.

Есть несколько вещей, которые нужно иметь в виду:

  1. Есть некоторые (очень немногие) неясными отключающая изменений при обновлении до более поздних версий рамки, как правило, из-за использования устаревшей API или нестандартные методы. По моему опыту, исправление таких изменений прерывания обычно довольно просто, как только вы поймете, откуда оно происходит.

  2. Если вы получаете конкретную ошибку с помощью NUnit, изолируйте ее в крошечном наборе тестов. Когда я охочусь за клопами, я обычно принимаю свою вину, и обычно я прав.

  3. Исходный код для nunit - это то, что вы можете скомпилировать и отладить в проблемах. Структуры тестирования, в общем, довольно прямолинейны и легко отслеживаются.

  4. Существует множество других модулей тестирования модулей. Более упрямая структура XUnit набирает популярность. Лично мне нравится fluent assertions, но его личный вкус, который также может быть достигнут с помощью NUnit.

  5. Вы всегда можете вернуться к встроенной в Microsoft модульной системе тестирования, которая поставляется с VS.

+1

Свободная часть утверждений была извлечена в библиотеку, которая называется «Ass Assition Library» или просто называется «Должен». Вы можете писать утверждения агностики фреймов, используя библиотеку под названием «Должен». Он также имеет очень хороший плавный синтаксис, который можно использовать, если вам нравятся плавные интерфейсы. У меня была запись в блоге, связанная с тем же. http://nileshgule.blogspot.com/2010/11/use-should-assertion-library-to-write.html –

3

Некоторые другие инструменты модульного тестирования для .NET 3.5 будет:

  • MS Test - встроенный каркас модульного тестирования в Visual Studio. Это не так плохо, как его репутация.
  • xUnit.NET, который имеет очень хороший API.
+0

-1 для mstest, но +2 для xunit ;-) –

0

я получаю то же пустая ссылка ошибки, совершенно новый 3.5 проект с простым Assert.IsTrue (правда) .... когда я пытаюсь добавить сборку в мой проект NUnit в guirunner я получаю:

System.NullReferenceException ... в NUnit.Util.TestLoader.ReloadTest (рамках RuntimeFramework)

1

Лично я использую MSTest, так как он встроен в Visual Studio. Это просто облегчает работу, так как вам не нужно ничего устанавливать, чтобы использовать его.

3

Я столкнулся с этим вопросом и смог обойти его в NUnit 2.5.

В NUnit GUI, включите поддержку Visual Studio под Инструменты> Настройки ...

Теперь выберите File> Open Project ... Изменить фильтр файлов из "Проекты & ассамблей" на "Решения", и загрузите файл решения. Вы должны иметь возможность запускать все ваши тесты.

Теперь выберите «Файл»> «Сохранить как ...» и сохраните текущую настройку в качестве проекта NUnit. Теперь вы можете перейти в Project> Edit ... и удалить не-тестовые сборки или внести любые другие изменения, которые вам нужны.

+0

У меня та же проблема:/ваше решение сработало для меня. СПАСИБО! –

+0

Второй раз мне пришлось искать этот ответ. БЛАГОДАРЯ!!! –

0

После сборки dll в .net framework 3.5, если мы использовали его в NUnit, он отлично работает, но если вы хотите интегрировать NUnit с Visual Studio IDE, вам нужно изменить файлы конфигурации для выполнения. Но я не уверен, как это сделать

Смежные вопросы