Об этом проекте
Swift Testing — это открытый пакет тестирования для Swift, разрабатываемый в рамках проекта Swift.org. Он предоставляет выразительные API на основе макросов, предназначенные для того, чтобы писать тесты для кода на Swift было просто.
Ключевые возможности, описанные в README:
- Понятный и выразительный API: макрос #expect использует выражения и операторы Swift и фиксирует вычисленные значения, поэтому при сбоях видно, что пошло не так. Также показан макрос #require для разворачивания опциональных значений.
- Настраиваемое поведение тестов: traits можно прикреплять к тестам или наборам тестов, чтобы описывать условия выполнения, например включать тест только при установленном флаге функции или ограничивать тесты определёнными версиями ОС. Traits также могут задавать ограничения времени выполнения для непрерывной интеграции.
- Гибкая организация: тесты можно группировать в иерархии, помечать тегами для управления между наборами и задавать им описательные имена.
- Масштабируемое покрытие и выполнение: параметризованные тесты запускают один и тот же тест для последовательности значений. Тесты интегрируются со Swift Concurrency и по умолчанию выполняются параллельно.
- Кроссплатформенная поддержка: Swift Testing входит в официально поддерживаемые инструментальные цепочки Swift для платформ Apple, Linux и Windows. FreeBSD указана как поддерживаемая, тогда как Wasm, Android и OpenBSD являются экспериментальными. README содержит таблицу поддержки с уровнями квалификации.
- Совместимость с XCTest: существующие тесты XCTest могут выполняться параллельно с тестами Swift Testing, что позволяет выполнять постепенную миграцию.
Документация доступна на Swift Package Index, а пакет входит в инструментальную цепочку Swift 6 и Xcode 16, поэтому его не нужно добавлять как зависимость пакета. Сборка из исходного кода в ветке main требует свежего снапшота инструментальной цепочки из ветки main.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.