이렇게 하면 새로운 자동 로드 구성 테스트가 실행되고 경고 모드에서 어설션이 활성화됩니다. 즉, ***_exists() 함수가 false를 반환하면 오류가 표시됩니다. 이는 인터페이스/열거/클래스를 로드할 수 없음을 의미합니다.
발견되지 않은 예외의 경우 -dassert.exception=0 更改为 -dassert.exception=1 (0 -> 1代码>)。然后测试将以非零代码退出(状态 255를 통과할 수 있습니다.
이것이 당신이 원하는 것입니다 -dassert.exception=0 更改为 -dassert.exception=1 并再次保存 composer.json .
그런 다음 오토로더를 덤프하는 Composer 명령을 사용하여 오토로더를 테스트할 수 있습니다.
作曲家转储自动加载
作曲家安装
作曲家更新
즐거운 테스트 되세요.
적절한 테스트, phpunit이 아직 실행 중인지 확인할 수도 있습니다:
으아아아
다시 테스트해 보세요. 범인을 찾아 모든 것이 정상으로 돌아오면 단일 작성기 스크립트를 사용하여 모든 테스트를 실행할 수 있습니다.
Common은 test:
라는 단어가 포함된 스크립트입니다.
으아아아
글을 쓸 필요도 없고 composer run-script test,只需 composer test항상 그것만으로도 충분합니다:
으아아아
(이 예제 출력에서는 phpunit 테스트를 구성하지 않았지만 이해가 되실 겁니다)
그럼 이건 어떤 테스트인가요? 글쎄요, 저는 이것을 구성 테스트라고 부릅니다. 이것은 단지 몇 가지 PHP 내용을 확인할 수 있는 간단한 확인일 뿐입니다. 그러한 테스트를 많이 추가하지 말고 테스트 계획을 작게 유지하십시오. 이를 사용하여 프로젝트를 구성할 때 직면하는 문제를 해결할 수 있습니다. 최대 1년 동안 보관하고 오류가 없다면 삭제를 고려해 보세요.
그러나 이 예에서는 일부 수표를 구성된 위치에 더 가깝게 이동하고 함께 묶는 방법을 보여줍니다. 종료 상태가 0이 아닌 경우 Composer는 전체 프로세스를 실패하게 됩니다.
이것은 PSR-4 구성의 Composer 자동 로더에 관한 질문입니다.
require_once
통화는 되지 않습니다. 이는 자동 로더이며 클래스 파일에는 자동 로더가 필요하지 않습니다.의심스러운 경우 자동 로더 구성을 테스트해 보세요.
다음 단계:
해당
require_once
전화를 제거하세요. 전화는 주의를 산만하게 하고 문제 해결을 방해할 뿐입니다. 자동 로드 구성이 유효하거나 유효하지 않습니다. 포함 지점을 다른 파일에 분산시키는 경우 더 많은 유지 관리가 필요하지만 반드시 그렇게 할 필요는 없습니다.문제가 있으므로
测试
모듈을 재구성하여 자동 로더 구성 테스트를 도입하세요.tests
移至tests/unit
에서 콘텐츠를 이동하고 단위 테스트를 위한 전용 디렉터리를 제공합니다.생성됨
으아악tests/php
子文件夹并在其中创建autoloading.php
文件。该文件夹用于 PHP 测试,即直接使用 PHP 执行它们(例如phptests/php/autoloading.php
). 파일 내용:참조:
자동 로더 구성 테스트를 실행하여 파일을 로드할 수 있는지 확인하세요
으아악(아무것도 인쇄할 수 없지만 무엇이든 인쇄할 수 있습니다. 중요한 것은 파일을 찾을 수 없거나 유사한 유형의 오류가 아닌 실행된다는 것입니다.
이 방법으로 PHP 파일을 실행할 수 있다면 이를 Composer 구성에 바인딩하세요. 이를 통해 오토로더 구성을 테스트할 수 있습니다.
새 스크립트를
으아악composer.json
구성에 추가하세요:참조:
테스트해 보세요:
으아악(출력되지 않습니다. 여기에 어떻게 보이는지 보여주기 위해 몇 가지 경고를 추가했습니다)
이렇게 하면 새로운 자동 로드 구성 테스트가 실행되고 경고 모드에서 어설션이 활성화됩니다. 즉, ***_exists() 함수가 false를 반환하면 오류가 표시됩니다. 이는 인터페이스/열거/클래스를 로드할 수 없음을 의미합니다.
발견되지 않은 예외의 경우
-dassert.exception=0
更改为-dassert.exception=1
(0
-> 1代码>)。然后测试将以非零代码退出(状态255
를 통과할 수 있습니다.이것이 당신이 원하는 것입니다
-dassert.exception=0
更改为-dassert.exception=1
并再次保存composer.json
.그런 다음 오토로더를 덤프하는 Composer 명령을 사용하여 오토로더를 테스트할 수 있습니다.
作曲家转储自动加载
作曲家安装
作曲家更新
즐거운 테스트 되세요.
적절한 테스트, phpunit이 아직 실행 중인지 확인할 수도 있습니다:
으아아아다시 테스트해 보세요. 범인을 찾아 모든 것이 정상으로 돌아오면 단일 작성기 스크립트를 사용하여 모든 테스트를 실행할 수 있습니다.
Common은
라는 단어가 포함된 스크립트입니다. 으아아아test
:글을 쓸 필요도 없고
으아아아composer run-script test
,只需composer test
항상 그것만으로도 충분합니다:(이 예제 출력에서는 phpunit 테스트를 구성하지 않았지만 이해가 되실 겁니다)
그럼 이건 어떤 테스트인가요? 글쎄요, 저는 이것을 구성 테스트라고 부릅니다. 이것은 단지 몇 가지 PHP 내용을 확인할 수 있는 간단한 확인일 뿐입니다. 그러한 테스트를 많이 추가하지 말고 테스트 계획을 작게 유지하십시오. 이를 사용하여 프로젝트를 구성할 때 직면하는 문제를 해결할 수 있습니다. 최대 1년 동안 보관하고 오류가 없다면 삭제를 고려해 보세요.
그러나 이 예에서는 일부 수표를 구성된 위치에 더 가깝게 이동하고 함께 묶는 방법을 보여줍니다. 종료 상태가 0이 아닌 경우 Composer는 전체 프로세스를 실패하게 됩니다.
또한 메시지가 표시되도록 각 작성자 스크립트에 설명을 추가할 수 있습니다.
으아아아 으아아아(참조: 사용자 정의 설명 - 작성기 스크립트 문서 )