CfneoUnitとか言ってるけど。。。
その実態は、Coldfusionでアプリケーションを構成するすべてのファイルを見て、UnitTestの対象になるファイルだけをピックアップして並べているだけだったりします。
あとは、ピックアップされたテスト対象に対して、TestDriverが存在するか、存在するならちゃんと全部のメソッドをテストしているか、を判定して1行のTRタグとして吐き出します。
データベースを使ってしまった方が楽かな?とも思ったのですが(Coldfusion8からは標準でApache Derbyが同梱されておりますし)、結局使わない方針でしばらく進めることにしています。
「テスト結果をどのタイミングでデータベースに保存するのか」という問題もありますし、現行のTestDriverの結果とデータベースに保存されたテストの結果の整合を取る仕組みを作るよりも、今あるコードを素直にテストした結果を返してくれた方が嬉しいよな、等と考えましてcfneoのコアとなるappcoreからは一切データベースを触らせていないようになってます(その代り、ファイル探査とパス変換を駆使してますがw)。
そもそもColdfusionがデプロイもコンパイルも要らないので、テストコードを書く→コードを書く→ブラウザで閲覧(テスト実施)→想定値と違ったらコードを直してF5→結果を評価...といういわゆるサクサク感のある開発が出来るが実現できます。
で、この機能についての課題を先日のエントリで書きましたが。。。
- テストの実施結果も一覧画面で見たいな。
- ブラウザからテストが書ければ楽なのに。
- 縦長で見づらいので、サマリくらい出せばいいのに。
- id:t_ishida爆発しろ。
よくよく考えると、もう少し課題がありました。
これをメモしておきます。
/**
メモここから。
- テスト結果をテスト対象一覧で見たいな。
- タイムアウトが怖いの><でも、遅延読み込み使って何とか出来るんじゃない?
- 画面は何とかならないの?
- 想定値になる生成されたHTMLと比較してあげれば可能。(回帰テストにのみ主眼を置くなら有効かも)
- 継続的インテグレーション的に使えないかな?
- 外部から定期的にTestDriverを突く何かを作って、スクレイピングなり何なりでテスト失敗を検知すれば可能かも。
- t_ishida爆発しろ。
- 爆発しろ
今のところcfneoは僕がほとんど開発してまして、もう一人のコミッタは暇なときに手伝ってくれるというスタイルなので、これらの対応はまだ取り掛かれないですね><
ということで、これらは初回のリリースとなるversion0.01には含めないままかも知れません。
ここまでめも。 */