Écriture de tests pour une API CodeIgniter 4

Créez un fichier de test nommé ApiTest.php dans le répertoire tests/ de votre projet. Voici un exemple de contenu pour ce fichier de test :

<?php

use CodeIgniter\Test\FeatureTestCase;

class ApiTest extends FeatureTestCase
{
    public function testGetUserById()
    {
        $response = $this->get('/api/user/1');

        $response->assertStatus(200);
        $response->assertJSON([
            'id' => 1,
            // Ajouter d'autres assertions selon la structure de la réponse attendue
        ]);
    }

    public function testCreateUser()
    {
        $userData = [
            'name' => 'John Doe',
            'email' => 'john@example.com',
            // Autres données utilisateur
        ];

        $response = $this->post('/api/user', $userData);

        $response->assertStatus(201);
        $response->assertJSON([
            'success' => true,
            'message' => 'User created successfully',
            // Autres assertions sur la réponse
        ]);
    }

    // Ajouter d'autres tests pour les autres endpoints de votre API
}

Dans ce fichier de test, nous avons défini une classe ApiTest qui étend la classe FeatureTestCase de CodeIgniter. Chaque méthode de cette classe correspond à un test individuel pour un endpoint de l'API.

Exécution des tests

Pour exécuter les tests, vous pouvez exécuter la commande suivante dans le répertoire de votre projet CodeIgniter :

php vendor/bin/phpunit

 

PHPUnit exécutera alors les tests définis dans ApiTest.php et affichera le résultat de l'exécution des tests.

En suivant ce cours, vous serez capable d'écrire et d'exécuter des tests automatisés pour une API développée avec CodeIgniter 4 en utilisant PHPUnit. Cela vous permettra de garantir la qualité et la fiabilité de votre API.

 

Modifié le: jeudi 21 mars 2024, 10:39