Un outil d'analyse pour Python qui brouille la ligne entre les systèmes de test et de type.
Les dernières nouvelles: l'outil de test immobilier le plus populaire de Python, Hypothèse, prend désormais en charge la course Crosshair en tant que backend facultatif!
Si vous avez une fonction avec des annotations de type et ajoutez un contrat dans une syntaxe prise en charge, Crosshair tentera de trouver des contre-exemples pour vous:

Crosshair fonctionne en appelant à plusieurs reprises vos fonctions avec des entrées symboliques. Il utilise un solveur SMT (une sorte de prover de théorème) pour explorer des chemins d'exécution viables et trouver des contre-exemples pour vous. Ce n'est pas une nouvelle idée; Une approche Python a été décrite pour la première fois dans cet article. Cependant, à ma connaissance, Crosshair est l'implémentation la plus complète: il peut utiliser un raisonnement symbolique pour les types intégrés, les classes définies par l'utilisateur et une grande partie de la bibliothèque standard.
Essayez Crosshair dès maintenant, dans votre navigateur, sur Crosshair-eb.org!
Crosshair a des intégrations IDE pour le code VS, PyCharm, et plus encore.
Enfin, Crosshair peut faire plus que des contrats de contrôle. Il peut également générer des tests unitaires et trouver des différences comportementales entre les fonctions.
Vous voulez aider? Inscrivez-vous aux mises à jour par e-mail ou RSS. Étoile ️ le référentiel. Il existe également d'autres moyens d'aider.