Как создать тесты NUnit с помощью ReSharper?
Я пытаюсь попасть в модульное тестирование с C#. Различные люди сказали мне пойти с NUnit, так как это лучше, чем MSTest (по-видимому, я понятия не имею), и он также имеет очень хорошую поддержку в ReSharper, который я использую.
теперь я никогда не писал модульный тест раньше в моей жизни (медведь со мной, я студент университета). ReSharper имеет этот хороший параметр контекстного меню CreateUnitTests, который я видел, как другие (случайно оглядываясь через плечо) используют для большого успеха. Вы щелкните правой кнопкой мыши в метод, выберите CreateUnitTests и там вы идете, скелет теста создается. Вы просто заполняете важные части.
теперь, когда я пытаюсь то же самое, ReSharper хочет, чтобы я создал новый тестовый проект... и когда я позволяю ему, он создает (что я предполагаю) проект MSTest с явно тестовым шаблоном MSTest. Но у меня уже есть проект класса libarary, который ссылается на " nunit.framework " и имеет несколько тестов NUnit, которые ReSharper более чем готов запустить. Тем не менее, он только когда-либо создает MSTest тестовые шаблоны, и только когда-либо в специальных проектах "тестовый проект".
Что я делаю не так? Я делаю что-то не так вообще, или создание тестовых шаблонов NUnit невозможно с помощью ReSharper? Я искал в сети и читал документацию ReSharper и NUnit, и я все еще не могу понять, возможно ли это или что.
Я был бы признателен, если бы кто-нибудь мог предоставить мне своего рода руководство по использованию ReSharper + NUnit.
EDIT: я использую ReSharper 4.5 и Нанит 2.5.3
EDIT2: по-видимому, я идиот. CreateUnitTests не является частью ReSharper, а частью Visual Studio и поэтому работает только с MSTest.
2 ответов
в вашем тестовом проекте, который создал Resharper, удалите ссылку на DLL модульного тестирования Microsoft (я не помню имя с руки, но это довольно длинное имя).
затем добавьте новую ссылку-nunit.рамки.dll, вы должны найти его на первой вкладке диалогового окна Добавить ссылку.
добавить using NUnit.Framework
to в файл класса модульного теста.
затем вам нужно изменить атрибуты:
[TestClass] to [TestFixture]
[TestMethod] to [Test]
поэтому, если вы закончите с проектом MSTest, используйте над шагами, чтобы получить NUnit вместо этого.
Примечание: Resharper 4.5 и далее имеет встроенную поддержку для запуска тестов MSTest, а также NUnit. Так что ты можешь попробовать вместо этого.
вам не нужно запускать никаких мастеров для использования NUnit. Вы можете просто создать библиотеку классов, добавить ссылку на NUnit и пометить тесты соответствующим атрибутом. Волшебники только для MSTest и даже тогда не требуются.
после того, как у вас есть модульные тесты, ReSharper Test runner обнаружит их, и на левом поле вы получите несколько значков, которые позволят вам запускать/отлаживать тесты. См. первое изображение здесь для примера: