Railsじゃダメだっと気づいて、CakePHPを導入することに。
なので開発環境をチェーック。
まずは、Zend StudioやKomodo IDEを試用。ビビッたのは、Zend StudioはVisual Studioを超えてるんじゃないかと。Komodo IDEの方は、Railsも使えるので、多言語派にはタマらなく欲しい一品です。どちらもすんごくよかったのですが、今回は買うのやめました。本格PHP屋さんに昇格できたときに再検討することにして、今回はEclisep PDTを採用。
PDTは、all-in-one配布のものを利用します(確実!)。Ctrl+Spaceでサクサク入力補完してくれて、設定すればデバッガも使える模様。
DB操作もEclipseからやってしまいたいので、SQL Explorerを導入しました。SQLの発行履歴や、最終的なテーブルの形をCREATE文に直してくれたりするので、Rails の Migrateと似た感じにできるかも。
あとは、Subclipseを入れて、ツールは設定終わり。
PHPの方には、phpDocumentorをpear install。
CakePHP1.1の場合は、別にTest Suiteが提供されています。CakePHPを解凍後に、Test Suiteのappフォルダを上書きしてインストール終わり。
で、ドキュメントがなくて四苦八苦したのですが、ブログチュートリアルのテストケースを書くとすると、
のテストケースは、
を作ったら、http://localhost/tests/にアクセスして、「App Test Cases」に出てくるテストケースをクリックすると、テストケースが走る。
せっかくだからこれもEclipseを使うと、こんな感じになります。
まだ1.2はAlpha版ですが、テストの議論はこちらのバージョンの方が活発です。というのも、1.2にはTest Suiteが同梱されていて、Rails流のfixtureも使えるので、これからは1.2を使ったほうがいいのかもしれない。
インストールは、CakePHP1.2を解凍してsimpletestをapp/vendersに突っ込めば終わり。
1.1からの変更点は、
■テストケースの置き場所は、
app/tests/cases/models/post.test.php
■テストケースの書き方が
class PostTest extends CakeTestCase {
・・・・
}
■テストURLは、http://localhost/test.phpで、
カッコよくなってます。
CakePHPにはテスト環境がナイもんだと思っていたら、意外にありました。でもやっぱり、マニュアル類がないんだよなぁー。
テストケースからModelをnewするだけなのに、いろいろと回り道をしてしまった。みなさまにおかれましては、二の足を踏まぬよう、お祈りいたします。
loadModelやloadControllerなどのクラスローダーがcake/basics.phpに定義されていて、テストを書くときは駆使することになるようです。