Мигрирующие тесты на XUNIT V3 в MVVMcross 9.3.1 предлагают несколько преимуществ, которые повышают опыт тестирования и повышают общую эффективность проекта. Вот некоторые из ключевых преимуществ:
1. Повышенная производительность и изоляция:
- Автономные исполняемые файлы: XUNIT V3 позволяет компилировать тестовые проекты в автономные исполняемые файлы, которые могут работать независимо без необходимости отдельного тестового бегуна. Это упрощает процесс запуска тестов и повышает производительность за счет использования компилятора для разрешения зависимостей, а не полагаться на механизмы времени выполнения, такие как домены приложений в более старых фондовых версиях .NET [4] [8].
- Изоляция процесса: тесты выполняются в отдельных процессах, обеспечивая лучшую изоляцию между тестами. Это снижает риск тестов, мешающих друг другу, и облегчает управление сложными тестовыми сценариями [4].
2. Улучшенная расширенность и гибкость:
- Упрощенные API: новая версия вводит упрощенные API с такими методами, как `find`,` findandrun` и `run ', которые предназначены для оптимизации взаимодействий по границам процессов. Это облегчает расширение и настройку структуры тестирования [1] [4].
- Unified Command Line Experience: XUNIT V3 поддерживает единый опыт командной строки в различных структурах тестирования, включая MSTest. Эта последовательность упрощает тестирование рабочего процесса и облегчает управление тестами из командной строки [1].
3. Лучшая поддержка современных фреймворков .NET:
- Официальная поддержка Mono: XUNIT V3 официально поддерживает MONO на Linux и MacOS для тестовых проектов .NET .NET, обеспечивающие надежный тест на различных платформах [4].
- Целевые рамки: xunit v3 нацеливаются на рамки, такие как `netstandard2.0`,` net472` и `net6.0`, что делает его совместимым с широким диапазоном среды .net [4].
4. Улучшенные диагностические сообщения:
- Упрощенная обработка диагностических сообщений: параметры `imessageink` были удалены из конструкторов, и теперь можно отправить диагностические сообщения с использованием Ambient` testcontext.current.senddiagnosticmessage`. Это упрощает процесс отправки диагностических сообщений во время тестирования [1].
5. Миграция и совместимость:
- Путь миграции: хотя миграция с XUNIT V2 на V3 может потребовать изменения в существующих тестовых проектах, новые функции и улучшения делают его полезным. Миграция MVVMcross в XUNIT V3 в версии 9.3.1 указывает на обязательство использовать эти достижения для лучшего управления тестами [7] [8].
В целом, мигрирующие тесты на XUNIT V3 в MVVMcross 9.3.1 повышают производительность, расширяемость и совместимость с современными рамками .NET, обеспечивая более надежную и эффективную среду тестирования.
Цитаты:[1] https://xunit.net/docs/getting-started/v3/whats-new
[2] https://www.mvvmcross.com/documentation/fundamentals/viewmodel-lifecycle
[3] https://learn.microsoft.com/en-us/dotnet/core/testing/unit-testing-mstest-migration-from-v1-to-v3
[4] https://xunit.net/docs/getting-started/v3/migration
[5] https://www.mvvmcross.com/mvvmcross-6.0.0-release/
[6] https://www.nuget.org/packages/mvvmcross.tests/
[7] https://github.com/mvvmcross/mvvmcross/releases
[8] https://blogs.sathiyaraman-m.com/whats-new-in-xunit-v3
[9] https://www.mvvmcross.com/mvvmcross-9.0.0-release/