Tests paramétrés Swift
Apple a introduit Swift Testing à la WWDC24, ce qui permet de transmettre des arguments à une fonction de test en utilisant le paramètre arguments de la macro @Test. Cette fonctionnalité active les tests paramétrés, où la fonction de test est appelée une fois pour chaque valeur dans la collection d'arguments. Le navigateur de test affiche les résultats de chaque exécution de test. Si deux arguments sont transmis, Swift Testing génère des cas de test pour toutes les combinaisons des deux arguments. Cependant, il y a une limite de deux arguments maximum, et si toutes les combinaisons ne sont pas nécessaires, les arguments peuvent être zippés pour les appairer. Cette fonctionnalité est utile pour tester une collection d'arguments d'entrée qui attendent le même résultat. Elle peut être particulièrement pratique lors de l'utilisation d'une énumération CaseIterable pour mener les tests. L'auteur a trouvé cette fonctionnalité utile lors de la migration de tests unitaires basés sur XCTest vers Swift Testing, en particulier lors de la vérification d'attributs des classes d'objets gérés de Core Data. L'approche Swift Testing présente des avantages par rapport à l'utilisation d'une boucle for, notamment des cas de test indépendants qui peuvent s'exécuter en parallèle et une notification des échecs plus claire. Dans l'ensemble, les tests paramétrés dans Swift Testing peuvent simplifier et combiner des tests, ce qui en fait une fonctionnalité utile en pratique.