3 votes

PHPUnit : Comment simuler une requête HTTP ?

Comment puis-je simuler une requête HTTP afin d'écrire des tests sur les données ou STH comme ceci ?

public function serve_request() {

    // Check request method
    if ( $_SERVER['REQUEST_METHOD'] !== 'GET' ) {

        $this->send_response( 405, 'Invalid method: ' . $_SERVER['REQUEST_METHOD'] );
        die;

    }

Par exemple, comment dois-je tester la méthode de demande ? Je suis confus depuis un certain temps. J'ai également essayé de curler la requête HTTP mais je n'ai pas pu accéder aux données. Toute proposition est la bienvenue.

0voto

Schleis Points 9098

Dans votre test, vous pouvez directement modifier $_SERVER pour qu'il prenne des valeurs différentes. Ainsi, vous pourrez tester les différentes valeurs. Vous pourriez donc faire $_SERVER['REQUEST_METHOD'] = 'foo' dans votre test avant son exécution.

Cependant, parce que vous avez die dans cette fonction, cela arrêtera l'exécution de phpunit. Afin de tester cette partie de la fonction, la fonction die Le commandement devrait être déplacé vers un autre endroit. Comme cela rend cette partie du code non testable avec phpunit.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X