PHPUnitManual:4
- 제 4 장 PHPUnit 용 테스트의 작성법
예제 4.1 "PHPUnit 에서의 배열 조작 테스트" 를 통해 PHP 의 배열 조작 테스트를 PHPUnit 용으로 작성하는 방법을 소개합니다. 이 예에서는, PHPUnit 를 사용하여 테스트를 작성하기 위한 기본적인 규칙과 절차를 소개합니다.
- Class 라는 이름의 클래스의 테스트는 ClassTest 클래스로 만든다.
- ClassTest 는 (거의 대부분) PHPUnit_Framework_TestCase 클래스를 계승한다.
- 테스트 메소드들은 test* 로 이름지어진 public methods 들이다.
혹은, 메소드의 Docblock 에 주석으로 @test 를 넣어 해당 메소드가 테스트 메소드임을 표시할 수 있다. - 테스트 메소드 안에서, assertEquals() 와 같은 검증 (assertion) 메소드들이 실제 값과 예상 값이 일치하는지를 검증하기 위해 사용될 수 있다. (Assertions 섹션을 참고하라)
예제 4.1 PHPUnit 에서의 배열 조작 테스트
<?php
class StackTest extends PHPUnit_Framework_TestCase
{
public function testPushAndPop()
{
$stack = array();
$this->assertEquals(0, count($stack));
array_push($stack, 'foo');
$this->assertEquals('foo', $stack[count($stack)-1]);
$this->assertEquals(1, count($stack));
$this->assertEquals('foo', array_pop($stack));
$this->assertEquals(0, count($stack));
}
}
?>
Whenever you are tempted to type something into a print statement or a debugger expression, write it as a test instead.
print 문이나 디버거 출력을 통해 무엇인가를 표시하고 싶다면, 그 대용을 테스트에 써라 - Martin Fowler