Tester les clés d'une réponse API JSON

Publié le 28/06/2022 • Mis à jour le 28/06/2022


English language detected! 🇬🇧

  We noticed that your browser is using English. Do you want to read this post in this language?

Read the english version 🇬🇧 Close

Dans ce bout de code, nous voyons comment tester la présence de clés d'une réponse API JSON. On peut utiliser l'assertion PHPUnit assertEqualsCanonicalizing(). Comme on peut le voir, l'ordre des clés n'a pas d'importance puisque le tableau est normalisé avant que la comparaison soit effectuée.


    /**
     * @see ApiController::stats()
     */
    public function testStats(): void
    {
        $stats = $this->repo->getArticlesCount();
        $client = self::createClient();
        $client->request('GET', '/stats');
        self::assertResponseIsSuccessful();
        self::assertResponseHeaderSame('content-type', 'application/json');
        self::assertEqualsCanonicalizing(['posts', 'snippets'], array_keys($stats));
        self::assertEqualsCanonicalizing(['snippets', 'posts'], array_keys($stats));
        self::assertJsonContains([
            'posts' => $stats['posts'],
            'snippets' => $stats['snippets'],
        ]);
    }

  Lire la doc  Snippet aléatoire