recherche

Maison  >  Questions et réponses  >  le corps du texte

Le test Laravel phpunit ne trouve pas l'objet TestCase sur la pile d'appels

<p>Où exécuter tous les tests <code>php artisan test</code> Tout fonctionne comme prévu et tous les tests sont exécutés</p> <p>Maintenant, lorsque j'exécute signle test <code>php artisan test --filter test_get_profile</code>, j'obtiens cette erreur filaire</p> <pre class="brush:php;toolbar:false;">Une erreur s'est produite dans PHPUnit. Message : Impossible de trouver l'objet TestCase sur la pile d'appels Emplacement : D:laragonwwwprojectvendorphpunitphpunitsrcTextUITestRunner.php:68</pre> <p>Mais certains autres tests fonctionnent toujours, comme test_login et test_register, mais lorsque je crée de nouveaux tests, parfois cela fonctionne, parfois j'obtiens cette erreur filaire</p> <p>PS : j'ai ajouté l'exemple de chemin de fichier<code>php artisan test tests/Feature/AccountTest.php --filter test_get_profile</code> chemin du fichier< ;/ p> <p>Veuillez<strong>notez que tous les tests sont vides</strong></p> <pre class="brush:php;toolbar:false;">fonction publique test_get_profile() : void { $réponse = $this->get('/'); $response->assertStatus(200); }</pré> <p> Quelqu'un est-il au courant de ce problème ?Il existe une version laravel 10 et phpunit 10</p> <p>phpunit.xml:</p> <pre class="brush:php;toolbar:false;"><phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="./vendor/phpunit/phpunit/phpunit.xsd" bootstrap="vendor/autoload.php" couleurs = "vrai" > <suites de tests> <nom de la suite de tests="Unité"> <suffixe du répertoire="Test.php">./tests/Unit</directory> </suite de tests> <nom de la suite de tests="Fonctionnalité"> <suffixe du répertoire="Test.php">./tests/Feature</directory> </suite de tests> </suites de tests> <source> <inclure> <suffixe du répertoire=".php">./app</directory> </inclure> </source> <php> <env name="APP_ENV" value="test"/> <env name="BCRYPT_ROUNDS" valeur="4"/> <env name="CACHE_DRIVER" value="tableau"/> <!-- <env name="DB_CONNECTION" value="sqlite"/> ---> <!-- <env name="DB_DATABASE" valeur=":mémoire:"/> ---> <env name="MAIL_MAILER" value="tableau"/> <env name="QUEUE_CONNECTION" value="sync"/> <env name="SESSION_DRIVER" value="tableau"/> <env name="TELESCOPE_ENABLED" valeur="faux"/> </php> </phpunit></pre> <p>UserTest.php</p> <pre class="brush:php;toolbar:false;">espace de noms TestsFeature; utilisez TestsTestCase ; la classe UserTest étend TestCase { fonction publique test_login() : vide { $réponse = $this->get('/'); $response->assertStatus(200); } fonction publique test_register() : vide { $réponse = $this->get('/'); $response->assertStatus(200); } }≪/pré> <p>AccountTest.php</p> <pre class="brush:php;toolbar:false;">espace de noms TestsFeature; utilisez TestsTestCase ; la classe AccountTest étend TestCase { /*** Un exemple de test de fonctionnalités de base.*/ fonction publique test_get_profile() : void { $réponse = $this->get('/'); $response->assertStatus(200); } }</pre></p>
P粉733166744P粉733166744541 Il y a quelques jours796

répondre à tous(1)je répondrai

  • P粉832490510

    P粉8324905102023-08-27 14:14:10

    Il s'agit d'un bug dans PHPUnit.

    https://github.com/sebastianbergmann/phpunit/issues/5403< /p>

    C'est la solution -

    https://github.com/sebastianbergmann/phpunit/commit/16166431bce84bb100d8e7fe867d612bdfe61776#diff-548ab8441af390a03ab9bf5e83a441aaa67c43de14b247a1426c2983b 434 bd89

    Exécutez la mise à jour de Composer pour obtenir la dernière version.

    répondre
    0
  • Annulerrépondre