CodeIgniter ユニットテスト unit_test

ViewとCSSから少し離れたフリをして・・・・
modelを書いてみようということで、ユニットテストクラスを使ってみようと思います。
データのinsertな処理はそのままcontrollerで書いてしまいました。
これもmodelにいれちゃったほうがいいのかな?

Modelの役割
なんとなくイメージ: Controllerが使役する素敵な式神さまw
(結界師にでてくるかわいい式神さまだと、なんとなく嬉しい)
DBに接続して、あれこれしてくれる役割のもの

CodeIgniter ユーザガイド(日本語版)より参照

<?
$this->unit->run( test, expected result, 'test name' );
?>

ここでの test は、テストしたいコードの実行結果が入り、expected result には、期待するデータ型 [または期待する値] が入ります。それから、test name では、オプションで、テストに名前を付けることができます。

ということなので、テストの名前がつけられる。

….で、2日ほど格闘。
やっぱり書いてみないとわからなかったなぁ的なことがいっぱいありました。
もうすこし試行錯誤してみようと思います。

課題とか疑問とか

  • ユニットテストが楽しい事はわかった。
  • テスト結果を活用したいと思った
  • is_objectでオブジェクト型が判定できないのは何故なのだろうか?
  • テストが失敗したら、テスト結果のテーブルは赤にしたい
    (色を変えたい)
  • 通常処理経路、例外処理経路をユニットテストをみて追えるようにしたい。
    (色変すべきかな?)

せっかく本コードに直接書いてしまうスタイルなわけだから、何かバグが発生したときに、それが通常処理だったのか例外処理だったのかは、テスト結果から追えるようにしたい。
都度誰かが手を入れながら、メンテされていくソースコードであればあるほど
それらはわかった方がいいのではないかなと思うわけです。

テスト名の工夫と、テスト結果を吐き出すViewに手を入れればできるのではないかなと予想してます。

TODO:

  • CodeIgniterでunit_testを活用しているコード(サンプル)を探す。
  • そもそもユニットテストってどうすべきなの?を調べてみる
  • 書きかけのコードをまずは完成させないと!
  • mock-up.html(雛形HTML)のカタチを考える。作る!