三連休はテスト漬け
三連休はテストですYO!
実は、今回が初めてのsymfony採用なのだけども、少しずつだけどわかってきた。askeetは実際にやってみる必要はないかもしれないが、どうやってsymfonyでリファクタリングをしていったらいいかが、わかるので参照するのに重宝している。ちょっと古いのが難点だけど、根本となる考えは変わらないので勉強になるね。
そして、最近作っていたところが汚くなってきたので、リファクタリング。そして、テスト。そしてリファクタリング。作業実績自体はあがらないけど、これが大事やね。
ユニットテストで使用しているプラグインは、sfModelTestPlugin。機能はこんな感じ。
* Uses a separate test database
* Automatically reloads test data before each group of tests
* Easy to install and use
* Support for Propel 1.2, Propel 1.3, and Doctrine
これで、テスト用のDBにデータを突っ込んで、実際にモデルクラスのメソッドが動くかどうかのテストができる。私的には、Criteriaクラスのオブジェクトをコントローラに書いたら負けだと思っているので、どんどんモデルに出す。そして、テスト。
このプラグインなんだけど、なぜかsymfonyコマンドでインストールすることはできなかった。しょうがないので、tarボールを展開して対応。Installの項目そう書いてあるのでね。
私はプロダクトにプラグインを採用することに関しては、ビンゴでなければ少し抵抗があるのだけど、この手のツールは積極的に採用したい。つーか、symfonyのコアライブラリで実装してもらいたい。
なんかもうじきsymfony1.1が出そうやね。私が今使っているのが1.0.8なので、sfCSRFPluginを入れているけど、1.1からはコアの方に組み込まれるみたい。結構大幅に機能が追加されそうな感じなので、ちゃんとチェックしないといけないなぁ。
というわけで、現段階でできるユニットテストは一応揃ったので、次は機能テストの方をやりまーす。
Shin Ohno 2003-2012