Maison  >  Article  >  développement back-end  >  Comment spécifier et appliquer les spécifications d’interface en Python ?

Comment spécifier et appliquer les spécifications d’interface en Python ?

王林
王林avant
2023-08-27 14:09:141145parcourir

Comment spécifier et appliquer les spécifications d’interface en Python ?

Voyons d'abord ce qu'est une spécification d'interface. La spécification d'interface est une spécification d'interface pour un module fournie par des langages de programmation tels que C++ et Java. Elle décrit les prototypes des méthodes et des fonctions du module.

Le module ABC

Le module abc a été introduit dans Python 2.6 pour définir des classes de base abstraites (ABC). Utilisez isinstance() et issubclass() pour vérifier si une instance ou une classe implémente une classe de base abstraite spécifique. Avec cela, le module collections.abc définit un ensemble de classes de base abstraites utiles telles que Iterable, Container et MutableMapping.

Le module collections contient des classes dérivées de l'ABC. Le sous-module collections.abc contient des ABC qui peuvent être utilisés pour tester si une classe ou une instance fournit une interface spécifique.

Les récompenses des spécifications d'interface peuvent être obtenues par une discipline de test appropriée en Python −

Suite de tests

Une bonne suite de tests pour un module peut à la fois fournir un test de régression et servir de spécification d'interface de module et d'ensemble d'exemples. De nombreux modules Python peuvent être exécutés sous forme de script pour fournir un auto-test simple.

.

Stub Emulations

peut être traduit par :

Stub Emulation

Même les modules qui utilisent des interfaces externes complexes peuvent souvent être testés isolément à l'aide d'émulations « stub » triviales de l'interface externe.

Créez des suites de tests à l'aide des modules doctest et unittest

Les modules doctest et unittest ou les frameworks de tests tiers peuvent être utilisés pour construire des suites de tests exhaustives qui exercent chaque ligne de code dans un module.

Le module doctest recherche des extraits de texte qui ressemblent à des sessions Python interactives, puis exécute ces sessions pour vérifier qu'elles correspondent exactement à celles affichées.

Le module unittest prend en charge l'automatisation des tests, partage le code de configuration et d'arrêt des tests, regroupe les tests en collections et rend les tests indépendants du cadre de reporting.

Créez des applications volumineuses et complexes

Une discipline de test appropriée peut aider à créer de grandes applications complexes en Python, tout comme le feraient des spécifications d'interface.

Développement piloté par les tests

L'écriture de suites de tests est très utile, vous souhaiterez peut-être concevoir votre code de manière à ce qu'il puisse être facilement testé. Une technique de plus en plus populaire, le développement piloté par les tests, nécessite que vous écriviez d'abord des parties d'une suite de tests avant d'écrire le code lui-même.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer