PHPUnitの勉強
PHPUnitでユニットテスト (1/3)これ見ながら勉強。
・テストはテストケースと呼ばれるクラスで、メソッドの中にアサーションという比較処理を書く。 ・PHPUnit_Framework_TestCaseというクラスを継承してテストケースクラスをつくる。 ・テストするクラスのクラス名の最後にTestとつけるのがテストケースクラス名のルール。 ・ファイル名もテストケースクラス名と同じである必要がある。 ・テストメソッド名はtestで始めるのがルール。 ・テスト対象のクラスをテストケース内でインスタンス化し、実際にメソッドをコールすることによってその結果を精査するのが一般的。 ・アプリケーションフレームワークが行う初期化処理や、データベース接続などの準備処理を、テストの前に実行しておく必要がある。 ・準備と後始末の仕組みについてもPHPUnit側でテンプレートメソッドとして準備されている。 ・テストケース開始時に、setUpBeforeClass()メソッドを呼ぶ。 ・テストメソッド実行前に、setUp()メソッドを呼ぶ。 ・テストメソッド実行後に、tearDown()メソッドを呼ぶ。 ・テストケース終了時に、tearDownAfterClass()メソッドを呼ぶ。
お試しコード
テストケース
<?php
require_once 'Sample.php';
class SampleTest extends PHPUnit_Framework_TestCase{
public function setUp(){ $this->sample = new Sample; }
public function testGetValue(){ $this->sample->set_value(20); $this->assertEquals(40, $this->sample->get_value()); }
}テスト対象
<?php
class Sample{ protected $value;
public function get_value(){ return $this->value; throw new RuntimeException('Not yet implemented.'); }
public function set_value($value){ $this->value = $value * 2; }}そして、phpunit sampletest.phpとやる。
結果、
PHPUnit 3.6.12 by Sebastian Bergmann.
.
Time: 0 seconds, Memory: 2.50Mb
OK (1 test, 1 assertion)あとはここを見ながら勉強する。 PHPUnit Manual