Существуют ли реальные различия между NUnit и модульным тестированием Microsoft (VS 2008)? - PullRequest
11 голосов
/ 11 марта 2010

С фреймворком, который есть в Visual Studio 2008, я что-то упустил, не используя внешний инструмент, такой как NUnit? Из того, что я могу сказать, кажется, что использование NUnit было бы больше хлопот с ручным созданием тестовых классов и методов по сравнению с нативным щелчком мыши в IDE. При этом, я пропускаю функции, которые обеспечивает NUnit, которых нет в VS? Иметь простой графический интерфейс для доступа моих специалистов по контролю качества - это нормально, но, используя nAnt и зависимости сборки при прохождении модульных тестов, я пропускаю интересные функции?

Ответы [ 4 ]

12 голосов
/ 11 марта 2010

Рой Ошеров только что написал в блоге , в котором обобщаются различия между NUnit и MSTest. Я думаю, что это отвечает на ваш вопрос.

Он приходит к выводу, что NUnit побеждает в модульном тестировании, но MsTest обладает гораздо лучшими возможностями для тестирования на основе интеграции и командного тестирования с Team System.

5 голосов
/ 11 марта 2010

Я использовал как NUnit, так и MSTest. Да, есть различия. NUnit - это старая, более устоявшаяся система модульного тестирования, предназначенная для выполнения только одной задачи - модульного тестирования. MSTest является более новым, поэтому он не имеет такой же уровень зрелости в своем API. Например, NUnit предлагает больше методов Assert, чем MSTest. (Для получения дополнительной информации см. http://geekswithblogs.net/sdorman/archive/2009/01/31/migrating-from-nunit-to-mstest.aspx. Чтобы добавить некоторые из отсутствующих методов Assert, см. http://geekswithblogs.net/sdorman/archive/2009/01/31/adding-custom-assertions-to-mstest.aspx).

На самом деле я не обнаружил, что производительность связана с какой-либо структурой.

Некоторые из больших отличий:

  • Для запуска MSTest требуется экземпляр Visual Studio на сервере сборки. Он не содержит автономного запуска тестов, такого как NUnit.
  • MSTest предоставляет результаты тестирования кода и непосредственно в Visual Studio. NUnit предоставляет результаты тестирования в своем собственном пользовательском интерфейсе и требует дополнительных инструментов для анализа покрытия кода.
1 голос
/ 11 марта 2010

См. MSBuild, NAnt, NUnit, MSTest и разочарование . Если вы не используете TFS в качестве сервера CI / build, вы можете серьезно рассмотреть возможность использования NUnit или одного из других проектов с открытым исходным кодом.

1 голос
/ 11 марта 2010

Я использую MSTest на работе, потому что должен, и, честно говоря, я нахожу это медленным и раздражающим. Если бы у меня был выбор, это был бы xunit.net (в основном, как nunit, чуть менее многословный) + инструмент для повышения резкости для интеграции с IDE.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...