Pocket
LINEで送る

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

Pocket
LINEで送る


コメントください

関連記事

プログラミング

cakePHP2 – 多言語化

多言語化します。 cakephpマニュアルのこのページに説明が書いてあ 続きを読む …

プログラミング

Go言語によるビットコインのフルノード実装btcdを調べる(2)

btcdを実行した際のプログラムの流れを最初から確認してみます。 se 続きを読む …

%d人のブロガーが「いいね」をつけました。