À propos du projet
Swift Testing est un package de test open source pour Swift, développé dans le cadre du projet Swift.org. Il fournit des API expressives basées sur des macros, conçues pour rendre l'écriture de tests pour le code Swift simple et directe.
Capacités clés décrites dans le README :
- API claire et expressive : La macro #expect utilise des expressions et des opérateurs Swift et capture les valeurs évaluées, de sorte que les échecs montrent ce qui n'a pas fonctionné. Une macro #require est également présentée pour déballer les valeurs optionnelles.
- Comportements de test personnalisés : Des traits peuvent être attachés aux tests ou aux suites pour décrire des conditions d'exécution, comme l'activation d'un test uniquement lorsqu'un indicateur de fonctionnalité est défini, ou la limitation des tests à certaines versions de système d'exploitation. Les traits peuvent également spécifier des limites de temps d'exécution pour l'intégration continue.
- Organisation flexible : Les tests peuvent être regroupés en hiérarchies, étiquetés pour une gestion inter-suites et dotés de noms descriptifs.
- Couverture et exécution évolutives : Les tests paramétrés exécutent le même test sur une séquence de valeurs. Les tests s'intègrent à Swift Concurrency et s'exécutent en parallèle par défaut.
- Prise en charge multiplateforme : Swift Testing est inclus dans les chaînes d'outils Swift officiellement prises en charge pour les plateformes Apple, Linux et Windows. FreeBSD est répertorié comme pris en charge, tandis que Wasm, Android et OpenBSD sont expérimentaux. Le README comprend un tableau de prise en charge avec des niveaux de qualification.
- Compatibilité XCTest : Les tests XCTest existants peuvent s'exécuter côte à côte avec les tests Swift Testing, permettant une migration progressive.
La documentation est disponible sur le Swift Package Index, et le package est inclus avec la chaîne d'outils Swift 6 et Xcode 16, il n'est donc pas nécessaire de l'ajouter comme dépendance de package. La compilation à partir de la source sur la branche principale nécessite un instantané de développement récent de la branche principale.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.