TestRunkitをversion0.2にしました。
December 13, 2011,
tags:
php
testrunkit
前にちょっとだけ作ってたTestRunkitの不具合修正を行いました。
不具合修正というか全体的に書き直しというか。。。まあ別にコードではないんですが。。
ただ、やっぱりテストコード書いている時に何かとべんりなわけです。
特にcakeだとコントローラのテストとかコンポーネントのテストあたりはいろいろとめんどくさいので、そんな時はTestRunkitをつかえば気軽に簡単にテストができるようになります。(たぶん…
ちなみにRunkit入れておかないと動かないのであらかじめ入れておいてください。
ちなみに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ケースの実行途中でテストがとまってしまう嫌な感じを回避できます。