本当はこんな事やってる場合じゃないんだけど、別のプロダクトを作っている時に副産物としてできた、SimpleTestのテスト結果をテキスト形式で割と詳細に表示するTextDetailReporterを作ったのでそれをEthnaに適用し、さらに自分が担当しているADOdbのテストケースの雛形を作った。テストを実行するとsqliteのデータベースを作成し、接続する所まで書いたので、暇を見てADOdbのほかのメソッドについてもテストを書きたい。
現状のethna_run_testを実行すると、こんな感じのがでる。
Ethna All tests
Ethna_Util_Test
|--- testCheckMailAddress - OK
|--- testIsAbsolute - OK
Ethna_DB_ADOdb_Test
|--- testMakeInstance - OK
|--- testConnect - OK
Ethna_ViewClass_Test
|--- test_getFormInput_Html - OK
|--- test_getFormInput_Text - OK
|--- testGetFormName - OK
All OK
Test cases run: 3/3, Passes: 19, Failures: 0, Exceptions: 0
ViewClassはform_input,form_name関係のテストがしたくてむりやりインスタンスを作っているので相当いい加減です。結果はアテになりません。GREEの中の人がきっとRewriteしてくれていると信じてます。
Ethna_DB_ADOdbはsqliteがあろうとなかろうと問答無用で接続にチャレンジするのでsqliteが入っていない環境だとテストが通りません。その辺りはfunction_existsとかで面倒見てあげないといけない雰囲気です。
もっとテストを書いてPHP4とPHP5での挙動の違いを簡単にチェックできるようにしたい。