문제
코드 품질을 향상시키기 위해 저는 평범한 테스트 솔루션 대신 단위 테스트를 사용하여 코드를 테스트하는 방법을 배우기로 결정했습니다.
공통 데이터베이스 기능을 수행 할 수있는 개인 라이브러리 용 composer를 사용하여 PHPUnit을 설치하기로 결정했습니다. 처음에는 PHPUnit에 대한 구성 파일이 없었고 다음과 같은 명령을 실행했습니다.
$ phpunit tests/GeneralStringFunctions/GeneralStringFunctionsTest
이것은 터미널 명령이므로 .php
확장을 포함하지 않았습니다 . 위에서 언급 한 GeneralStringFunctionsTest는 실제로 GeneralStringFunctionsTest.php
파일입니다.
출력은 내가 예상 한 것입니다.
시간 : 31ms, 메모리 : 2.75Mb
확인 (테스트 1 개, 어설 션 1 개)
그런 다음 매번 파일을 수동으로 입력하는 대신 구성 파일을 사용하여 테스트 스위트를 자동으로로드하려고했습니다. phpunit.xml
루트 디렉터리에 라는 파일을 만들고 파일에 http://pastebin.com/0j0L4WBD 를 입력했습니다 .
<?xml version = "1.0" encoding="UTF-8" ?>
<phpunit>
<testsuites>
<testsuite name="Tests">
<directory>tests</directory>
</testsuite>
</testsuites>
</phpunit>
이제 명령을 실행할 때 :
phpunit
다음 출력이 표시됩니다.
Sebastian Bergmann 및 기여자에 의해 PHPUnit 4.5.0.
/Users/muyiwa/Projects/DatabaseHelper/phpunit.xml에서 읽은 구성
시간 : 16ms, 메모리 : 1.50Mb
실행 된 테스트가 없습니다!
도움이되는 경우 내 디렉토리 구조는 다음과 같습니다.
src-최상위 디렉토리 (내 모든 소스 코드 포함)
테스트-최상위 디렉토리 (내 모든 테스트 포함, 내 src 폴더 와 동일하게 구성됨 )
공급 업체-Composer 타사 파일
또한 composer json 및 lock 파일과 최상위 수준의 phpunit xml 파일이 있습니다.
내가 시도한 것들
- 디렉토리를 다음
phpunit.xml
으로 변경tests/GeneralStringFunctions
- 디렉토리를 다음
phpunit.xml
으로 변경./tests
- 이동
phpunit.xml
받는 파일을tests
디렉토리 다음 디렉토리로 변경하는./
대신tests
. phpunit.xml
"Tests"를 명시 적 접미사로 지정 하기 위해의 디렉토리 태그에 접미사 속성을 추가합니다 .
tests/GeneralStringFunctions/GeneralStringFunctionsTest
폴더 나 파일 이름은?