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