Какая среда модульного тестирования будет соответствовать моим требованиям? - PullRequest
2 голосов
/ 11 августа 2011

Это все, что я ищу на высоком уровне:

  1. Возможность запуска модульных тестов из Visual Studio 2008
  2. Совместимость с некоторыми инструментами покрытия кода
  3. Фреймворк для модульного тестирования с функцией тестирования строк, такой как RowTestAttribute MBUnit
  4. Возможность интеграции с Team City

IЯ думал, что нашел это с xUnit.net 1.8, resharper 6.0 и dotCover 1.1.1.Однако, потратив почти день на возня с этим, я обнаружил следующие серьезные проблемы с этой установкой:

  • Теоретические тесты (тесты строк) не полностью поддерживаются в Resharper - большеinfo
  • dotCover в основном не работает с xUnit

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

Я начал смотреть на Gallio , но я надеюсь, что кто-то может сэкономить мне время ипорекомендуйте выигрышную комбинацию, прежде чем тратить время на изучение.

Какую комбинацию вы успешно использовали?

Ответы [ 3 ]

2 голосов
/ 11 августа 2011

Я бы предложил вам использовать NUnit:

  • Вы можете использовать TestDriven.NET или ReSharper для полной интеграции с Visual Studio
  • PartCover, Sonar, NCover 1.5.8 free в качестве инструмента покрытия кода
  • TestCase атрибут для передачи другого набора параметров (ReSharper отлично поддерживает этот атрибут)
  • Team City встроена поддержка

Пример атрибута TestCase

 [Test]
 [TestCase(1)]
 [TestCase(2)]
 [TestCase(3)]
 public void TestMe(int param)
 {
    Assert.That(param > 0);
 }
0 голосов
/ 12 августа 2011
0 голосов
/ 11 августа 2011
  1. Интеграция с IDE: Готово и бесплатно => MSTest.Если вы хотите скачать и использовать, есть множество бегунов на тестах. NUnit - самый старый.Если вы готовы платить, у вас есть resharper, test-driven.net и другие надстройки.У Resharper есть свой собственный инструмент для запуска тестов, поэтому вы видите эти проблемы.Теперь, если вы хотите запустить и отладить, то ваши параметры будут сокращены еще больше.Запускать так же просто, как настроить программу на отладку, так же, как и запускать тестовый модуль.Итог: Интеграция для чего-либо, кроме MSTest, должна быть оплачена / загружена.
  2. Совместимость с покрытием кода: снова из коробки и бесплатно => MSTest.Платно: NCover будет интегрироваться с любой exe ... так что не является ограничением (но стоит слишком много, ИМХО).Есть и другие, которые появляются сейчас - поскольку Jetbrains предлагает свой вариант, я полагаю, что совместимость будет существовать среди их собственных продуктов.
  3. RowTests: NUnit имеет это.Хотя я думаю, что он был заимствован из xUnit или MBUnit, я забыл.MSTest поддерживает это как загружаемое расширение.
  4. Интеграция с Team City: см. их страницу : похоже, работает только с NUnit и MSTest.Я лично проверил это с NUnit .. работал с минимальной конфигурацией.
...