<p>在哪裡運行所有測試
<code>php artisan 測試</code>
一切都按預期工作並且所有測試都運行</p>
<p>現在,當我執行signle test <code>php artisan test --filter test_get_profile</code>時,我收到此有線錯誤</p>
<pre class="brush:php;toolbar:false;">An error occurred inside PHPUnit.
Message: Cannot find TestCase object on call stack
Location: D:\laragon\www\project\vendor\phpunit\phpunit\src\TextUI\TestRunner.php:68</pre>
<p>但其他一些測試仍然有效,例如 test_login 和 test_register 有效,但是當我創建新測試時,有時它有效,有時我會收到此有線錯誤</p>
<p>PS:我新增檔案路徑範例<code>php artisan test tests/Feature/AccountTest.php --filter test_get_profile</code> 我沒有收到任何錯誤,但我不知道要永遠包含檔案路徑< ;/ p>
<p>請<strong>注意所有測試都是空的</strong></p>
<pre class="brush:php;toolbar:false;">public function test_get_profile(): void
{
$response = $this->get('/');
$response->assertStatus(200);
}</pre>
<p>有人知道這個問題嗎?我正在使用 laravel 10 和 phpunit 10
<p>phpunit.xml:</p>
<測試套件>
<測試套件名稱=“單元”>
<目錄後綴=“Test.php”>./tests/Unit
</測試套件>
<測試套件名稱=“功能”>
<目錄字尾=“Test.php”>./tests/Feature
</測試套件>
</測試套件>
<來源>
<包括>
<目錄後綴=“.php”>./app目錄>
</含>
</來源>
<環境名稱=“APP_ENV” value="測試"/>
<env name=“TELESCOPE_ENABLED”值=“假”/>
</php>
</phpunit></pre>
<p>UserTest.php</p>
命名空間 Tests\Feature;
使用測試\測試用例;
類別 UserTest 擴充 TestCase
{
公共函數 test_login(): void
{
$response = $this->get('/');
$響應->assertStatus(200);
}
公共函數 test_register(): void
{
$response = $this->get('/');
$響應->assertStatus(200);
}
}</前>
<p>AccountTest.php</p>
命名空間 Tests\Feature;
使用測試\測試用例;
AccountTest 類別擴展了 TestCase
{
/*** 一個基本功能測試範例。*/
公用函數 test_get_profile(): void
{
$response = $this->get('/');
$響應->assertStatus(200);
}
}</pre></p>
這是 PHPUnit 中的一個錯誤。
https://github.com/sebastianbergmann/phpunit/issues/5403
#這是修復 -
https://github.com/sebastianbergmann/phpunit/commit/16166431bce84bb100d8e7fe867d612bdfe61776# diff-548ab8441af390a03ab9bf5e83a146483a03ab9 9
執行 Composer 更新以取得最新版本。