Maison >développement back-end >tutoriel php >Tester le code PHP avec ATOUM - une alternative au phpunit

Tester le code PHP avec ATOUM - une alternative au phpunit

Jennifer Aniston
Jennifer Anistonoriginal
2025-02-10 12:16:09850parcourir

Testing PHP Code with Atoum - an Alternative to PHPUnit

ATOUM: Une alternative courante au phpunit pour les tests PHP

ATOUM est un cadre de test PHP contemporain, présentant une alternative convaincante au phpunit. Son interface courante hiérarchise la lisibilité et simplifie la création de test. Ce tutoriel explore l'installation, la configuration et les fonctionnalités de base d'ATOUM, mettant en évidence ses avantages pour le développement de PHP moderne.

Caractéristiques de clé:

  • Interface fluide: La syntaxe d'Atoum améliore la lisibilité et réduit le code de passe-partout souvent associé aux tests.
  • Installation facile: Tire en tirant du compositeur pour une installation et une intégration transparentes.
  • Prise en charge des IDE: Interaction IDE améliorée à travers le package atoum/stubs, facilitant l'achèvement du code et le débogage.
  • Styles de test flexibles: prend en charge à la fois le style BDD / GHERKINE (given, when, then) et une approche plus directe, répondant à diverses préférences.
  • Couverture de code intégrée: comprend des outils de couverture de code robustes avec sortie HTML pour une visualisation claire.
  • CI INTÉGRATION: s'intègre parfaitement aux systèmes d'intégration continue.
  • Caractéristiques avancées: prend en charge les annotations pour spécifier les versions PHP et les extensions requises, assurant la compatibilité des tests dans différents environnements.

au-delà du phpunit: pourquoi choisir AToum?

Alors que PHPUnit détient une position dominante dans le paysage des tests PHP, ATOUM offre une approche rafraîchissante. Sa conception moderne et son interface intuitive rationalisent le processus de test, particulièrement bénéfique pour les développeurs à la recherche de lisibilité et de facilité d'utilisation améliorées.

Installation et configuration:

Installez ATOUM et le package essentiel atoum/stubs à l'aide du compositeur:

<code class="language-bash">composer require atoum/atoum
composer require atoum/stubs</code>

Pour l'intégration optimale de phpstorm (ou IDE similaires), le package atoum/stubs est crucial pour l'amélioration du code.

Configuration (.atoum.php):

Personnaliser les rapports et la sortie de la couverture du code en créant un fichier .atoum.php dans le répertoire racine de votre projet:

<code class="language-php"><?php
use mageekguy\atoum;

$stdout = new atoum\writers\std\out;
$report = new atoum\reports\realtime\santa; // Or cli, phing, tap, NyanCat
$script->addReport(
    $report->addWriter($stdout)
);</code>

Configurer la couverture du code HTML en créant un répertoire /coverage/html et en adaptant vendor/atoum/resources/configurations/runner/coverage.php.dist (renommer à coverage.php):

<code class="language-php"><?php
// ... (Update paths and URLs as needed) ...</code>

Rédaction de votre premier test:

ATOUM recommande la création d'un répertoire tests/units reflétant la structure source de votre application. Par exemple, un test pour une entité src/App/Entity/Journal.php résiderait dans tests/units/Entity/Journal.php.

Exemple de test à l'aide du style BDD:

<code class="language-bash">composer require atoum/atoum
composer require atoum/stubs</code>

Exécution de tests et de couverture de code:

Exécuter des tests avec la couverture du code en utilisant:

<code class="language-php"><?php
use mageekguy\atoum;

$stdout = new atoum\writers\std\out;
$report = new atoum\reports\realtime\santa; // Or cli, phing, tap, NyanCat
$script->addReport(
    $report->addWriter($stdout)
);</code>

Le rapport de couverture du code HTML sera généré dans le répertoire /coverage/html.

Débogage avec dump():

pour le débogage, utilisez la méthode dump() (nécessite l'exécution avec -d ou --debug):

<code class="language-php"><?php
// ... (Update paths and URLs as needed) ...</code>

Annotations: @php et @Extensions:

ATOUM exploite les annotations pour le contrôle de test avancé:

  • @php <version></version>: Spécifie la version PHP requise pour une méthode de test ou une classe.
  • @extensions <extension1> <extension2> ...</extension2></extension1>: Spécifie les extensions de PHP requises.

Conclusion:

ATOUM fournit une alternative puissante et conviviale au phpunit. Son interface fluide, ses fonctionnalités intégrées et sa prise en charge des scénarios de test avancés en font un concurrent solide pour le développement de PHP moderne. Bien que la courbe d'apprentissage initiale puisse être légèrement plus abrupte que le phpunit, les avantages à long terme en termes de lisibilité et de maintenabilité sont significatifs. Explorez sa documentation approfondie et ses extensions pour débloquer son plein potentiel.

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:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn