unit testing - NUnit против MbUnit против MSTest против xUnit.net




unit-testing (5)

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

Мне лично все равно, что касается модульных тестов, насмешливые библиотеки IMHO гораздо важнее (и блокируют вас гораздо больше). Просто выберите один и придерживайтесь его.

Для .NET существует немало unittesting frameworks. Я нашел это небольшое сравнение функций: http://xunit.github.io/docs/comparisons.html

Теперь я должен выбрать лучший для нас. Но как? Это имеет значение? Какой из них является самым перспективным доказательством и имеет приличный импульс позади него? Должен ли я заботиться об особенностях? Хотя xUnit, по-видимому, является самым современным и специально разработанным для .NET, NUnit снова, похоже, является широко распространенным. MSTest снова уже интегрирован в Visual Studio ...


Nunit не работает хорошо со смешанными проектами на C ++, поэтому мне пришлось отказаться от него


Это не большая сделка в небольшом / личном масштабе, но она может стать крупной сделкой быстро в более широких масштабах. Мой работодатель - большой магазин Microsoft, но не может / не может купить его в Team System / TFS по ряду причин. В настоящее время мы используем Subversion + Orcas + MBUnit + TestDriven.NET, и он работает хорошо, но получение TD.NET было огромной проблемой. Чувствительность к версии MBUnit + TestDriven.NET также является большой проблемой, и наличие одной дополнительной коммерческой вещи (TD.NET) для юридической проверки и закупок для обработки и управления не является тривиальным. Моя компания, как и многие компании, толста и довольна моделью подписки MSDN, и она просто не используется для обработки одной закупочной документации для сотен разработчиков. Другими словами, полностью интегрированное предложение MS, в то время как определенно не всегда лучшее из хлеба, является значительным добавлением на мой взгляд.

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


Это неважно, довольно легко переключаться между ними. MSTest, будучи интегрированным, также не имеет большого значения, просто возьмите testdriven.net.

Как и предыдущий, человек сказал, что насмехается над картой, моим фаворитом в данный момент является Moq.


Я знаю, что это старый поток, но я думал, что xUnit.NET голосование за xUnit.NET . В то время как большинство других тестовых фреймворков упомянуты, практически все то же самое, xUnit.NET взяла довольно уникальный, современный и гибкий подход к модульному тестированию. Это изменяет терминологию, поэтому вы больше не определяете TestFixtures и Tests ... вы указываете факты и теории о своем коде, который лучше интегрируется с концепцией того, что такое тест с точки зрения TDD / BDD.

xUnit.NET также EXTREMELY расширяем. Его классы атрибутов ActAttribute и TraitAttribute не запечатываются и предоставляют передислоцированные базовые методы, которые дают вам большой контроль над тем, как должны выполняться методы, которыми эти атрибуты украшают. В то время как xUnit.NET в своей форме по умолчанию позволяет вам создавать тестовые классы, похожие на тестовые приборы NUnit, с их тестовыми методами, вы не ограничены этой формой модульного тестирования вообще. Вы можете расширить рамки для поддержки спецификаций Concern / Context / Observation в стиле BDD, как показано here .

xUnit.NET также поддерживает тестирование подгонки непосредственно из коробки с атрибутом Theory и соответствующими атрибутами данных. Подходящие входные данные могут быть загружены из excel, базы данных или даже из настраиваемого источника данных, такого как документ Word (путем расширения базового атрибута данных). Это позволяет использовать одну тестовую платформу для модульных тестов и тестов интеграции, которые может быть огромным в сокращении зависимостей продуктов и обучении.

Другие подходы к тестированию также могут быть реализованы с помощью xUnit.NET ... возможности довольно безграничны. В сочетании с другой очень перспективной издевательской структурой, Moq , эти два создают очень гибкую, расширяемую и мощную платформу для внедрения автоматизированного тестирования.





xunit.net