PHPUnitManual:8

From 흡혈양파의 번역工房
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
제8장. 데이터베이스 테스트

초급, 중급을 대상으로 한 단위 테스트 샘플은, 사용하는 언어에 관계없이 테스트하기 쉬운 로직에 관한 단순한 테스트들 뿐입니다. 데이터베이스를 사용하는 일반적인 어플리케이션에는 적합하지 않습니다. 예를 들어, Wordpress 나 TYP03, 혹은 Symfony 로 Doctrine 이나 Propel 등을 사용하게 되면 PHPUnit 의 테스트가 사용하기 어렵다고 느끼게 될 것입니다. 데이터베이스와 이들 라이브러리가 밀접하게 관련되어 있기 때문입니다.


매일의 업무나 프로젝트에서도 느끼셨을 것입니다. PHPUnit 에 관한 지식을 구사하여 작업을 진행하려고 할 때, 다음과 같은 문제 때문에 고생한 적이 있었을 것입니다.


테스트하려는 메소드가 대규모 JOIN 을 실행한 데이터를 사용하여 중요한 결과를 도출한다.


하나의 비지니스 로직 안에 SELECT, INSERT, UPDATE, DELETE 가 섞여서 실행되고 있다.


둘 이상의 (일반적으로 보다 많은) 테이블에 초기 데이터를 준비하지 않으면 해당 메소드를 테스트할 수 없다.


DbUnit 확장을 사용하면, 테스트용 데이터베이스의 셋업을 단순화할 수 있고, 데이터베이스 조작 후의 내용도 검증할 수 있습니다. 인스톨 방법은 다음과 같습니다.

localhost# pear install phpunit/DbUnit


Notes