2011年11月7日月曜日

CodeIgniterを使ったアプリケーションのUnitTest

今年から、専門学校の授業でPHPを教えているのですが、
その授業のネタとしてCodeIgniterを利用しています。

基本的な機能について、大体触ったので、これから実践的な
内容にしようと思って、教科書にしている「CodeIgniter徹底入門」を
見ていると、フレームワークでユニットテストのライブラリが用意されているようなので
試してみました。使い方は、以下のように
ライブラリを読み込み、テストを実行、レポートを出力する。
最後に確認という感じです。

// ライブラリの読み込み
$this->load->library('unit_test');
// テストの実行
$this->unit->run(実行するメソッド、評価対象, 期待する実行結果, テストの名前);
// テスト結果(レポート)の表示
echo $this->unit->report();

ちなみに、以下の本です。


ただ、これだとブラウザでリクエストしないとテストが実行できないので、
テストコードも本番環境にデプロイしないといけなさそうです。

が、授業の一環なので、ひとまずはこれで良いかな。

で、データベースのテストに関して調べていたら、本番用とテスト用で
データベースを切り替えるか、テスト用のテーブルを用意するしかなさそうな感じ。