PHPUnitManual:4

From 흡혈양파의 번역工房
Jump to: navigation, search
제 4 장 PHPUnit 용 테스트의 작성법

예제 4.1 "PHPUnit 에서의 배열 조작 테스트" 를 통해 PHP 의 배열 조작 테스트를 PHPUnit 용으로 작성하는 방법을 소개합니다. 이 예에서는, PHPUnit 를 사용하여 테스트를 작성하기 위한 기본적인 규칙과 절차를 소개합니다.

  1. Class 라는 이름의 클래스의 테스트는 ClassTest 클래스로 만든다.
  2. ClassTest 는 (거의 대부분) PHPUnit_Framework_TestCase 클래스를 계승한다.
  3. 테스트 메소드들은 test* 로 이름지어진 public methods 들이다.
    혹은, 메소드의 Docblock 에 주석으로 @test 를 넣어 해당 메소드가 테스트 메소드임을 표시할 수 있다.
  4. 테스트 메소드 안에서, 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