Laravel phpunit 테스트가 호출 스택에서 TestCase 객체를 찾을 수 없습니다
<p>모든 테스트를 실행할 위치
<code>php 장인 테스트</code>
모든 것이 예상대로 작동하고 모든 테스트가 실행됩니다</p>
<p>이제 signle test <code>php artisan test --filter test_get_profile</code>을 실행하면 다음과 같은 유선 오류가 발생합니다</p>
<pre class="brush:php;toolbar:false;">PHPUnit 내부에서 오류가 발생했습니다.
메시지: 호출 스택에서 TestCase 개체를 찾을 수 없습니다.
위치: D:laragonwwwprojectvendorphpunitphpunitsrcTextUITestRunner.php:68</pre>
<p>그러나 test_login 및 test_register와 같은 일부 다른 테스트는 여전히 작동하지만 새 테스트를 만들 때 때로는 작동하고 때로는 이런 유선 오류가 발생합니다</p>
<p>PS: 파일 경로 예제를 추가했습니다<code>php artisan test test/Feature/AccountTest.php --filter test_get_profile</code> 오류는 발생하지 않지만 항상 파일 경로를 포함해야 하는지는 모르겠습니다< ;/p>
<p>모든 테스트는 비어 있습니다</strong></p>
<pre class="brush:php;toolbar:false;">공개 함수 test_get_profile(): 무효
{
$response = $this->get('/');
$응답->assertStatus(200);
}</pre>
<p>이 문제에 대해 아시는 분 계신가요?나는 laravel 10과 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"
색상 = "true"
>
<테스트 스위트>
<테스트 스위트 이름="유닛">
<디렉토리 접미사="Test.php">./tests/Unit</directory>
</테스트 스위트>
<테스트 스위트 이름="기능">
<디렉토리 접미사="Test.php">./tests/Feature</directory>
</테스트 스위트>
</테스트 스위트>
<출처>
<포함>
<디렉토리 접미사=".php">./app</directory>
</포함>
</출처>
<php>
<환경 이름="APP_ENV" value="테스트 중"/>
<env name="BCRYPT_ROUNDS" 값="4"/>
<환경 이름="CACHE_DRIVER" 값="배열"/>
<!-- <환경 이름="DB_CONNECTION" value="sqlite"/> -->
<!-- <환경 이름="DB_DATABASE" 값=":메모리:"/> -->
<환경 이름="MAIL_MAILER" 값="배열"/>
<환경 이름="QUEUE_CONNECTION" 값="동기화"/>
<환경 이름="SESSION_DRIVER" 값="배열"/>
<env name="TELESCOPE_ENABLED" 값="false"/>
</php>
</phpunit></pre>
<p>UserTest.php</p>
<pre class="brush:php;toolbar:false;">네임스페이스 TestsFeature;
TestsTestCase를 사용하십시오.
UserTest 클래스는 TestCase를 확장합니다.
{
공개 함수 test_login(): 무효
{
$response = $this->get('/');
$응답->assertStatus(200);
}
공개 함수 test_register(): 무효
{
$response = $this->get('/');
$응답->assertStatus(200);
}
}</pre>
<p>AccountTest.php</p>
<pre class="brush:php;toolbar:false;">네임스페이스 TestsFeature;
TestsTestCase를 사용하십시오.
AccountTest 클래스는 TestCase를 확장합니다.
{
/*** 기본 기능 테스트 예시입니다.*/
공개 함수 test_get_profile(): 무효
{
$response = $this->get('/');
$응답->assertStatus(200);
}
}</pre></p>