TestRunkitをversion0.2にしました。

December 13, 2011,
tags: php testrunkit


このエントリーをはてなブックマークに追加

前にちょっとだけ作ってたTestRunkitの不具合修正を行いました。
不具合修正というか全体的に書き直しというか。。。まあ別にコードではないんですが。。

ただ、やっぱりテストコード書いている時に何かとべんりなわけです。
特にcakeだとコントローラのテストとかコンポーネントのテストあたりはいろいろとめんどくさいので、そんな時はTestRunkitをつかえば気軽に簡単にテストができるようになります。(たぶん…

ちなみにRunkit入れておかないと動かないのであらかじめ入れておいてください。

TestRunkit

ちなみにcakeで使う時に便利だなーと思うポイントとしては、Contorollerのテスト時にRedirectしちゃっている箇所に適応したりとか、あとはcakeErrorとかで処理が止まってしまうので、そこを回避するためにつかったりします。

例:

<?php
class JojoControllerTestCase extends CakeTestCase {

	function startCase() {
		parent::startCase();
		
		TestRunkit::swapMethod( 'Object', 'cakeError', '', '
			$this->set("__error",true);
			$this->set("__trace",debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS));
			return false;
		');
		TestRunkit::swapMethod( 'AppController', 'redirect', '', 'return true;');
		TestRunkit::swapMethod( 'AppModel', 'onError');
	}
...

って感じで書いておくと、onError時や、redirect時、cakeErrorの時に適当に処理してくれるので、testケースの実行途中でテストがとまってしまう嫌な感じを回避できます。

comments powered by Disqus