すべてのテストを実行する場所 php職人テスト
すべてが期待どおりに動作し、すべてのテストが実行されます
ここで、signle test php 職人テスト --filter test_get_profile
を実行すると、この有線エラーが発生します
PHPUnit 内でエラーが発生しました。 メッセージ: コール スタックで TestCase オブジェクトが見つかりません 場所: D:\laragon\www\project\vendor\phpunit\phpunit\src\TextUI\TestRunner.php:68
しかし、test_login や test_register など、他のテストはまだ機能しますが、新しいテストを作成すると、うまく動作することもあれば、この有線エラーが発生することもあります
PS: ファイル パスの例を追加しましたphpArtisan Test testing/Feature/AccountTest.php --filter test_get_profile
エラーは発生しませんが、常にファイルパス
すべてのテストは空であることに注意してください
パブリック関数 test_get_profile(): void { $response = $this->get('/'); $response->assertStatus(200); }
この問題について知っている人はいますか?私は現在、laravel 10 と phpunit 10
を使用しています。phpunit.xml:
<テストスイート> <テストスイート名="ユニット"> ./tests/Unit テストスイート> <テストスイート名="機能">./tests/Feature テストスイート> <ソース> <含める> <ディレクトリサフィックス=".php">./appディレクトリ> ソース><環境名="APP_ENV"値="テスト中"/> <環境名="BCRYPT_ROUNDS"値="4"/> <環境名="CACHE_DRIVER"値="配列"/> <環境名="MAIL_MAILER"値="配列"/> <環境名="QUEUE_CONNECTION"値="同期"/> <環境名="SESSION_DRIVER"値="配列"/> <環境名="TELESCOPE_ENABLED"値="false"/>
UserTest.php
名前空間 Tests\Feature; Tests\TestCase を使用します。 クラス UserTest は TestCase を拡張します { パブリック関数 test_login(): void { $response = $this->get('/'); $response->assertStatus(200); } パブリック関数 test_register(): void { $response = $this->get('/'); $response->assertStatus(200); } }
AccountTest.php
名前空間 Tests\Feature; Tests\TestCase を使用します。 クラス AccountTest は TestCase を拡張します { /**※基本的な機能テストの例です。*/ パブリック関数 test_get_profile(): void { $response = $this->get('/'); $response->assertStatus(200); } }ソース> テストスイート>
これは PHPUnit のバグです。
https://github.com/sebastianbergmann/phpunit/issues/5403
これが修正です -
https://github.com/sebastianbergmann/phpunit/commit/16166431bce84bb100d8e7fe867d612bdfe61776# diff-548ab8441af390a03ab9bf5e83a441aaa67c43de14b247a1426c2983b434bd89
Composer アップデートを実行して最新バージョンを入手します。