罪と罰++二律背反


[[PHP]]
*PHPUnitインストール [#o774a03d]
-PEAR版v1.2.0beta1を手動インストールした

*PHPUnitを使う [#c8728377]
**テスト用のスケルトン [#a83e6aad]
 <?php
 
 require_once("PHPUnit.php");	// PEAR版PHPUnit
 require_once("Sample.php");		// テスト対象のSampleクラス
 
 // テストクラス
 class SampleTest extends PHPUnit_TestCase
 {
 	var $sample_;
 	
 	/*	コンストラクタ	*/
 	function SampleTest($name) {
 		$this->PHPUnit_TestCase($name);
 	}
 	
 	/*	初期化(テスト処理前に実行される)	*/
 	function setUp() {
 		$this->sample_ = new Sample();
 	}
 	/*	テスト終了処理	*/
 	function tearDown() {
 		
 	}
 	
 	
 	/*	テスト実装部分(関数名がtestで始まるものがテスト対象)	*/
 	function testNo1() {
 		
 		// sample_->getData("")の結果が、0であることを確認する
 		$this->assertEquals(0, $this->sample_->getData("") );
 		
 	}
 	
 }
 
 $ts = new PHPUnit_TestSuite("SampleTest");
 $tr = PHPUnit::run($ts);
 echo '<pre>';
 echo preg_replace("/( failed:.*)/", "<font color=\"red\"><b>$1</b></font>", $tr->toString());
 echo '</pre>';
 
 ?>
**テストの書き方 [#c88b7219]
-Assert.phpのPHPUnit_Assertクラスがテスト用のメソッドを定義しているので、使い方を確認。
 assertEquals($expected, $actual, $message = '', $delta = 0)
 assertNotNull($object, $message = '')
 assertNull($object, $message = '')
 assertTrue($condition, $message = '')
 assertFalse($condition, $message = '')
 assertRegExp($pattern, $string, $message = '')
 assertNotRegExp($pattern, $string, $message = '')
 assertType($expected, $actual, $message = '')
 assertNotContains($needle, $haystack, $message='')
--$haystackと$needleが文字列の場合、$haystackに$needleが含まれていないか?含まれないならエラー
--$haystack配列に$needle(オブジェクト以外)が含まれていないか?



*参照 [#qcb29ca0]
-[[Do You PHP? - 最強のユニットテスト自動化ツール:http://www.pat.hi-ho.ne.jp/dimension/]]

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS