PHPUnit 사용법 예제


PHPUnit 사용법 예제 PHPUnit 은 PHP 에서 사용되는 단위 테스팅 도구입니다. PHP 의 단위 테스트 도구인 PHPUnit 설치 방법과 테스트 케이스 방법 작성 방법 등의 사용법에 대해서 설명드리도록 하겠습니다.

PHPUnit 사용법 예제

PHPUnit 설치

phpunit은 아래의 명령어로 설치 할 수 있습니다.

phpunit 을 다운로드 받은 뒤에 실행권한을 부여하면 됩니다. phpunit 에서 캐시 파일을 생성할 수 있으므로, 사용자명의 쓰기 권한이 있는 위치에 저장하시면 됩니다.

참고로 사용하고 계신 PHP 버전에 따라서 사용할 수 있는 phpunit 의 버전이 다를 수 있습니다.

최신 PHP 버전을 사용하지 않으실 경우 아래의 내용을 참고 후 사용하고 계신 PHP 버전에 맞는 phpunit 버전을 설치해 주시기 바랍니다. 이와 관련해서는 아래의 페이지를 참고하시면 됩니다.

https://phpunit.de/

$ wget https://phar.phpunit.de/phpunit.phar
$ chmod +x phpunit.phar

다운로드 받은 phpunit.phar 파일의 이름을 phpunit으로 변경해서 사용가능합니다.
하지만 ~/.bashrc 파일에 아래와 같이 옵션과 함께 alias 를 추가하면 보다 편리하게 사용할 수 있습니다.

alias phpunit='/home/ubuntu/phpunit.phar –color'

위의 내용을 ~/.bashrc 파일에 추가해 주시고, 다음 명령어로 쉘을 초기화 합니다.

$ source ~/.bashrc

설정이 완료된 다음 아래의 명령어 실행 후 버전 정보가 나타나면 성공적으로 phpunit설치가 된 것입니다.

$ phpunit --version

PHPUnit 사용법 예제

PHPUnit 예제

테스트 케이스는 TestCase 클래스를 상속 받은 뒤에 구현 할 수 있습니다. 아래는 테스트 케이스 예제 코드를 나타내는데 테스트 하고자 하는 함수명을 아래와 같이 지정해서 구현하면 됩니다.

public function testXXXX() { }
<?php
use PHPUnit\Framework\TestCase;

class StackTest extends TestCase {
    public function testPushAndPop() {
        $stack = [];
        $this->assertEquals(0, count($stack));

        array_push($stack, 'foo');
        $this->assertEquals(1, count($stack));

        $this->assertEquals('foo', array_pop($stack));
        $this->assertEquals(0, count($stack));
    }
}
?>

테스트 케이스를 검증 하는데 사용되는 주요 함수는 아래와 같습니다.

  • assertEquals($a, $b) : a와 b 값이 일치하는지 확인

위에서 만든 테스트 케이스를 검증하기 위해서는 아래와 같이 실행하면 됩니다.

$ phpunit testcase.php

~/.bashrc 파일에 alias 를 지정하면서, 색상(color)으로 강조될 수 있도록 옵션을 추가하였습니다. 따라서 테스트 결과가 통과했을 경우 아래와 같이 명확하게 초록색으로 함께 나타나는 것을 알 수 있습니다.

PHPUnit 사용법 예제

이번에는 테스트 케이스가 실패하도록 아래와 같이 코드를 수정해 보도록 하겠습니다.

$this->assertEquals(1, count($stack));

위의 실패 케이스의 실행 결과는 아래와 같습니다. 어떤 함수에서 테스트 케이스가 실패하였고, 어떻게 값이 일치하지 않는지 자세히 나타나고 있음을 확인 할 수 있습니다.

PHPUnit 사용법 예제

( 본문 인용시 출처를 밝혀 주시면 감사하겠습니다.)