====== PhpUnit 사용 조사 ====== 유닛 테스트가 엄청 필요함을 알면서도 그동안 제대로 도입을 하지 않았다. 이제 제대로 테스트 기반으로 프로젝트를 진행해볼까? ===== PhpUnit 설치 ===== 우분투 계열의 리눅스를 사용하는 나는 패키지 매니저를 통해 쉽게 설치 가능하다. PhpUnit 관련 패키지는 다음과 같이 제공된다. phpunit - Unit testing suite for PHP5 phpunit-mock-object - Mock Object library for PHPUnit phpunit-selenium - Selenium RC integration for PHPUnit phpunit-story - extension to facilitate Behaviour-Driven Development 물론 패키지 설치를 할 수도 있지만, 웹에 흔히 가이드되는 다음 내용도 참고로 알아 두자. wget https://phar.phpunit.de/phpunit.phar chmod +x phpunit.phar sudo mv phpunit.phar /usr/local/bin/phpunit phpunit --version ===== PhpUnit 간단 사용 예 ===== 테스트는 언제나 PHPUnit_Framework_TestCase 클래스를 상속받은 나의 테스트 클래스를 작성하는 것 부터 시작한다. 그리고 테스트로 동작되기를 원하는 함수는 무조건 'test'라는 글자로 시작하거나, 주석 영역에 ''@test''라고 지시를 주어야 한다. ==== Assertion ==== (거의)모든 테스트는 어떤 동작을 수행한 결과가 우리가 예상한 기대와 같은지 체크하는 것이므로, 테스트에선 선언(assertion)이 거의 핵심적인 기능을 담당한다고 볼 수 있다. 프레임워크는 많은 assertion 함수를 제공한다. 그 목록은 [[https://phpunit.de/manual/current/en/appendixes.assertions.html|Appendix A. Assertions]]에서 확인할 수 있다. 적절한 곳에 적절한 선언을 사용해 테스트를 진행해보자. ===== WordPress에서 PhpUnit 사용 ===== [[wordpress:unit_testing]] 문서를 참고.