>source

PHPUnit 9.0.0 및 Symfony 5.1.8을 사용하여 첫 번째 단위 테스트를 수행하려고 합니다.

./vendor/bin/phpunit 명령으로 테스트를 던졌습니다. 그러나 다음 메시지가 나타납니다.

RuntimeException: "AppKernel" 클래스가 존재하지 않거나 자동 로드할 수 없습니다. phpunit.xml의 KERNEL_CLASS 값이 정규화된 클래스와 일치하는지 확인합니다. 커널 이름을 변경하거나 "XXXXXXX::createKernel()" 메서드를 재정의합니다.

phpunit.xml 파일을 확인했는데 오류가 없습니다.

<?xml version="1.0" encoding="UTF-8"?><phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:noNamespaceSchemaLocation="bin/.phpunit/phpunit.xsd"
         backupGlobals="false"
         colors="true"
         bootstrap="tests/bootstrap.php"
><php>    <ini name="error_reporting" value="-1" />    <server name="APP_ENV" value="test" force="true" />    <server name="SHELL_VERBOSITY" value="-1" />    <server name="SYMFONY_PHPUNIT_REMOVE" value="" />    <server name="SYMFONY_PHPUNIT_VERSION" value="7.5" /></php><testsuites>    <testsuite name="Project Test Suite">        <directory>tests</directory>    </testsuite></testsuites><filter>    <whitelist processUncoveredFilesFromWhitelist="true">        <directory suffix=".php">src</directory>    </whitelist></filter><listeners>    <listener class="Symfony\Bridge\PhpUnit\SymfonyTestsListener" /></listeners>

"KERNEL" 또는 "createKernel"과 같은 줄을 찾고 있었지만 Symfony 및 단위 테스트의 초보자입니다. 어디에서 오류가 발생할 수 있습니까?

미리 감사합니다.

AppKernel 클래스는 Symfony 초기로 거슬러 올라가며 몇 년 전에 Kernel 클래스로 대체되었습니다. 따라서 오류/구성이 의미가 없습니다. 이제 막 시작했으므로 새 Symfony 프로젝트를 만들고 단위 테스트 문서를 따라 구성해야 하는 작업 예제를 얻을 것을 제안합니다. 그것은 내가 일종의 레거시 프로젝트라고 생각하는 것에서 무슨 일이 일어나고 있는지 볼 수 있는 기회를 줄 수 있습니다.

Cerad2022-01-02 23:33:11

제가 말했듯이 symfony 버전은 5.1.8(현재 symfony 버전)이므로 이것은 문제가 되지 않는다고 생각합니다. 어쨌든 고마워

Sones12022-01-02 23:33:11

nitpick하지만 Symfony의 현재 LTS 버전은 5.4입니다. 선택의 여지가 있다면 5.4로의 전환을 고려해야 합니다. App\Kernel과 AppKernel 사이에도 큰 차이가 있습니다. 작동하는 것처럼 보이지만 오류 메시지는 여전히 매우 이상했습니다.

Cerad2022-01-02 23:33:11
  • 이전 reactjs : 애플리케이션 프론트 엔드의 시스템 아키텍처에 대한 최선의 방법을 어떻게 파악합니까?
  • 다음 무선으로 데이터를 보내고 완료 후 RxAndroidBLE를 사용하여 작업 종료