목차

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 함수를 제공한다. 그 목록은 Appendix A. Assertions에서 확인할 수 있다. 적절한 곳에 적절한 선언을 사용해 테스트를 진행해보자.

WordPress에서 PhpUnit 사용

unit_testing 문서를 참고.