Comment utiliser Codeception avec CakePHP ?

WBOY
Libérer: 2023-06-04 08:20:02
original
1157 Les gens l'ont consulté

CakePHP est un framework d'application Web open source basé sur PHP qui peut aider les développeurs à créer rapidement des applications Web. Codeception est un framework de test puissant qui peut aider les développeurs à effectuer des tests automatisés. Cet article explique comment utiliser Codeception pour les tests dans CakePHP.

  1. Installer Codeception

Tout d'abord, vous devez installer Codeception. Il peut être installé via Composer, exécutez la commande suivante :

composer require --dev codeception/codeception
Copier après la connexion

Si vous avez besoin d'autres modules, vous pouvez l'installer comme suit :

composer require --dev codeception/module-webdriver
composer require --dev codeception/module-db
composer require --dev codeception/module-asserts
Copier après la connexion
  1. Initialize Codeception# 🎜🎜#
Après avoir installé Codeception, vous devez exécuter la commande suivante dans le répertoire racine de l'application CakePHP pour initialiser Codeception :

vendor/bin/codecept init
Copier après la connexion

Après avoir exécuté la commande, il y aura être une série de questions interactives qui nécessitent une réponse. Par exemple, vous devez sélectionner le type de test, l'emplacement de stockage du fichier de test, etc.

    Writing Tests
Codeception propose différents niveaux de tests. Dans CakePHP, vous pouvez utiliser des tests fonctionnels pour tester si l'application se comporte comme prévu. Les tests fonctionnels simulent l'interaction de l'utilisateur avec l'application, comme remplir des formulaires, cliquer sur des liens, etc. Voici un exemple de test :

<?php 
$I = new FunctionalTester($scenario);
$I->wantTo('ensure that login works');
$I->amOnPage('/');
$I->click('Login');
$I->seeCurrentUrlEquals('/users/login');
$I->fillField('username', 'testuser');
$I->fillField('password', 'testpass');
$I->click('Login');
$I->seeCurrentUrlEquals('/dashboard');
$I->see('Welcome, testuser');
Copier après la connexion

L'exemple de test ci-dessus tente de simuler la connexion de l'utilisateur et de vérifier si elle réussit. Simulez le comportement de l'utilisateur via $I->amOnPage() et $I->click(), puis vérifiez s'il répond aux attentes via $I->see() et $I->seeCurrentUrlEquals().

    Exécuter le test
Après avoir écrit le test, vous pouvez utiliser la commande suivante pour exécuter le test :

vendor/bin/codecept run
Copier après la connexion
#🎜 🎜#Si vous souhaitez exécuter Pour spécifier un test, vous pouvez utiliser la commande suivante :

vendor/bin/codecept run functional MyFirstTestCest
Copier après la connexion

Parmi elles, MyFirstTestCest est le nom du fichier de test. Si vous souhaitez uniquement exécuter une certaine méthode de test, vous pouvez utiliser la commande suivante :

vendor/bin/codecept run functional MyFirstTestCest:testLogin
Copier après la connexion

où testLogin est le nom de la méthode de test.

Codeception et PHPUnit
  1. CakePHP utilise PHPUnit par défaut pour les tests unitaires. Codeception est également basé sur PHPUnit, il peut donc également être considéré comme une méthode de test. La beauté de Codeception est qu’il facilite l’écriture, l’exécution et la gestion des tests.

Si vous devez utiliser PHPUnit et Codeception en même temps dans CakePHP, vous pouvez ajouter le code suivant au fichier phpunit.xml pour exécuter le test Codeception :

<testsuites>
    <testsuite name="cake">
        <directory>./tests/TestCase/</directory>
        <directory>./vendor/codeception/codeception/tests/unit/</directory>
    </testsuite>
</testsuites>
Copier après la connexion

Le code ci-dessus exécutera PHPUnit Lors des tests, il inclut également l'exécution de tests Codeception.

Résumé

Cet article présente comment utiliser Codeception pour tester dans CakePHP. Codeception fournit des fonctions de test riches, telles que les tests fonctionnels, les tests de bout en bout, les tests d'API, etc., qui peuvent nous aider à tester les applications de manière plus complète. Dans le même temps, Codeception est simple à utiliser et facile à démarrer, ce qui peut grandement améliorer l'efficacité des tests.

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal