Совместное использование заботу!

Выбор среды тестирования для ядра .NET может быть запутанным и сложным. Структура тестирования должна быть разработана и выбрана в соответствии с требованиями и потребностями конкретного проекта.

Платформы тестирования доступны в нескольких и разнообразных вариантах. Двумя наиболее распространенными и популярными платформами и инструментами для модульного тестирования на C# являются Microsoft Unit Test и xUnit.

Основные выводы

  1. Microsoft Unit Test — это среда тестирования, специально разработанная для приложений .NET, а Xunit — более универсальная среда с открытым исходным кодом, совместимая с несколькими платформами.
  2. Xunit поддерживает параллельное выполнение тестов, повышая производительность тестов, в то время как Microsoft Unit Test не предлагает эту функцию.
  3. Microsoft Unit Test использует такие атрибуты, как [TestMethod] и [TestClass], тогда как Xunit использует атрибуты [Fact] и [Theory] для тестовых случаев.

Модульный тест Microsoft против xUnit

Microsoft Unit Test и xUnit — это платформы тестирования для создания и запуска автоматических тестов в приложениях .NET. Microsoft Unit Test — это встроенная среда тестирования в Visual Studio. xUnit — это среда тестирования с открытым исходным кодом, обладающая большим количеством функций и гибкостью.

Модульный тест Microsoft против

MSTest расшифровывается как Microsoft Unit Test. Другое название фреймворка — Visual Studio Unit Testing Framework. Доставка фреймворка осуществляется вместе с Visual Studio.

Платформу можно установить из графического интерфейса NuGet или даже с помощью «консольных команд диспетчера пакетов NuGet».

С другой стороны, xUnit основан на платформе .NET. «x» в xUnit обозначает тип языка программирования, используемого в фреймворке. Платформу xUnit можно установить с GitHub.

Расширение и расширение xUnit выше, чем у большинства других фреймворков.

Сравнительная таблица

Параметры сравненияМодульный тест МайкрософтXUnit
Инициализация и деинициализация[TestInitialize] и [TestCleanup] для инициализации и деинициализации соответственно.Может быть инициализирован с помощью конструктора тестового класса и может быть деинициализирован с помощью интерфейса Idisposable.
Параллельное выполнение тестаПараллельное выполнение предлагается как на уровне класса, так и на уровне метода.Параллельное выполнение предлагается путем выполнения «n» потоков или включения тестовых классов в единую тестовую коллекцию.
Изоляция тестовОбеспечивает более низкую изоляциюОбеспечивает лучшую изоляцию
растяжимостьСравнительно менее расширяемыйБолее расширяемый, поскольку использует такие атрибуты, как [Факт] и [Теория].
Механизм утвержденияИспользует [ожидаемое исключение]Использует Assert.Throws

Что такое модульный тест Microsoft?

Microsoft Unit Test (MSTest), также известный как Visual Studio Unit Testing Framework, является средой тестирования по умолчанию. Инструмент поставляется с Visual Studio. Изначально инструмент использовался как обычная линия для выполнения тестов.

Читайте также:  jQuery против Ajax: разница и сравнение

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

Фреймворк распознает тест по нескольким аннотациям и атрибутам с помощью различных тестовых кодов. Некоторые общие атрибуты: [TestInitialize], [TestCleanup], [TestMethod] и другие.

Инструмент имеет предварительный пакет Visual Studio. Успешный запуск Microsoft Unit Test зависит исключительно от установки адаптера MSTest.

Процесс установки Microsoft Unit Test осуществляется через графический интерфейс NuGet или даже с помощью «консольных команд диспетчера пакетов NuGet».

Установка пакета выполняется с помощью команды «Install-Package» и аргумента. Тестовое поведение пользователей может быть определено в Microsoft Unit Test с учетом нескольких входных аргументов.

Такие пакеты, как MSTest.TestAdapter, Microsoft.NET.Test.Sdk и MSTest.TestFramework, необходимы для работы платформы. Первоначальный MSTest V1 не имел открытого исходного кода; позже V2 была запущена с открытым исходным кодом.

Microsoft Unit Test является кроссплатформенным. Это позволяет реализовать различные целевые тесты на таких платформах, как Windows, Linux или Mac. В нем также предусмотрена возможность расширения пользовательских атрибутов и утверждений.

Что такое xUnit?

xUnit — это инструмент тестирования, используемый для .NET Framework. Это бесплатный модуль с открытым исходным кодом. Лицензия xUnit находится под лицензией Apache License 2.0. Исходный код доступен на GitHub.

xUnit.net работает с CodeRush, Xamarin, TestDriven.NET и ReSharper. Авторы — Джеймс Ньюкирк и Брэд Уилсон.

Разработчиками xUnit.net являются Outercurve Foundation, Microsoft и .NET Foundation. Инструмент был выпущен 29 октября 2018 г. в версии 2.4.1. Инструмент написан исключительно на языке C#.

Читайте также:  Первичный ключ против внешнего ключа: разница и сравнение

Операционные системы, совместимые с xUnit, — это macOS, Windows и Linux. Mono, .NET Framework и .NET Core — это платформы, поддерживающие инструмент модульного тестирования. Инструмент ориентирован на сообщество.

xUnit был написан тем же человеком, который является изобретателем NUnit v2. Внедрение инструмента должно было помочь программистам писать более качественные и четкие тесты.

Платформа тестирования также была приведена в соответствие с платформой .NET после появления инструмента. xUnit создал архитектуру для программистов, особенно для разработки Test-Driven.

Расширение поддержки других видов тестирования, таких как автоматические приемочные тесты, также включено в инструмент xUnit.

xUnit можно легко расширить. Инструмент загружается из галереи NuGet. Инструмент позволяет использовать уникальный и другой стиль тестирования.

Инструмент можно инициализировать с помощью конструктора тестового класса, а деинициализировать можно с помощью интерфейса Idisposable. xUnit считается расширяемым и надежным инструментом тестирования.

Основные различия между Microsoft Unit Test и xUnit

  1. Microsoft Unit Test менее ориентирован на сообщество и менее сложен, в то время как xUnit более ориентирован на сообщество и более сложен.
  2. Атрибутом для обозначения метода тестирования или отдельного теста является [TestMethod] в Microsoft Unit Test, а [Fact] в xUnit.
  3. Атрибутом для указания группы модульных тестов класса является [TestClass] в модульном тесте Microsoft, в то время как в платформе xUnit такого атрибута нет.
  4. Microsoft Unit Test не содержит атрибутов настройки и разрыва фикстуры, в то время как ICollectionFixture используется в xUnit для каждой коллекции.
  5. Microsoft Unit Test изначально не был запущен как среда тестирования с открытым исходным кодом, в то время как xUnit был запущен как тестирование с открытым исходным кодом.
Рекомендации
  1. https://ieeexplore.ieee.org/abstract/document/7155685/
  2. https://link.springer.com/chapter/10.1007/978-3-642-15585-7_11

точка 1
Один запрос?

Я приложил столько усилий, чтобы написать этот пост в блоге, чтобы предоставить вам ценность. Это будет очень полезно для меня, если вы подумаете о том, чтобы поделиться им в социальных сетях или со своими друзьями/родными. ДЕЛИТЬСЯ ♥️

Хотите сохранить эту статью на потом? Нажмите на сердечко в правом нижнем углу, чтобы сохранить в свой собственный блок статей!

By Сандип Бхандари

Сандип Бхандари имеет степень бакалавра вычислительной техники Университета Тапар (2006 г.). Имеет 20-летний опыт работы в сфере технологий. Он проявляет большой интерес к различным техническим областям, включая системы баз данных, компьютерные сети и программирование. Подробнее о нем можно прочитать на его био страница.