Submit Search
CakePHP(例えば2系)のテスト
•
5 likes
•
4,218 views
monmon Kumagai
Follow
1 of 18
Download now
Download to read offline
More Related Content
CakePHP(例えば2系)のテスト
1.
CakePHP(例えば2系)の
テスト genesix くまがいのぶお monmonといいます
2.
CakePHPとは ● PHP ● inspired
by Ruby on Rails ● コマンドラインで「cake」すると色々できる ● 現在のstableは2.1.1
3.
lib/Cake/Console/cake ● cake bakeでMやCやVなんかを生成 ●
cake testでテスト実行(2.0だとtestsuite) ● その他詳しくはcake --help
4.
Testしよう ● 書き方がわからなくなったらCakePHPのテストを
見たらいい ○ lib/Cake/Test/Case
5.
1系と2系の違い ● 1系
○ SimpleTest ● 2系 ○ PHPUnit 「なぜPHPUnitに移行したか」は以下参照 ● http://mark-story.com/posts/view/cakephp-and-phpunit ● http://cakephp.jp/modules/newbb/viewtopic.php?topic_id=2331&forum=3
6.
僕がやっている流れ 1. 「create table」でテーブル作成 2.
「cake bake」でテーブル用のModelを作成 3. ロジックのクラスとそれをテストするファイルを手 動作成 4. Test Test Test ○ もうここで大部分のテストは終わらせたい 5. 「cake bake」でControllerを作成 6. Test Test Test Modelの話は他の人が発表しそうだからController の話
7.
bakeでControllerのテストファイルを自動 生成 ● テストファイルの中に作られるクラス a.
Controllerを継承したTestControllerクラス b. TestControllerを使ったTestクラス view(テンプレート)に渡す変数は決まっているけ ども、viewができてない場合とかに、とりあえずサ サッと作れる
8.
a. TestControllerクラス ● autoRender
= falseでviewを使わないように ● redirectをOverrideでredirectをしないように
9.
b. ControllerのTestクラス ● /monmon/indexにリクエスト ●
viewに渡す変数が正しいか確認
10.
Test実行 cake test app
Controller/MonmonController ● expectedとactualの違い ● 行番号
11.
Testが通るController outputという変数にmonmonを入れる
12.
Test実行 成功
13.
ControllerのTestクラス(redirect) ● bashiruraにリクエスト ● /にリダイレクトされているか確認
14.
Testが通るController redirectメソッドに/を入れる
15.
じゃあ実際のviewとかsessionの確認は? ● ControllerTestCaseクラスに testActionメソッドがあるのでそれを使
う
16.
testActionを使ったControllerのテスト ● Sessionを使ったテストはブラウザでtest.php
○ これ、コマンドラインからどうやるかはわからない
17.
まとめ http://book.cakephp.org/2.0/en/development/testing.html 久しぶりにココ見てみたら、すごく充実 していて Testing Controllers という所に全部書いてあった mockの話とかも書いてある
18.
まとめ フレームワーク使う時はマニュアルとかreadmeとか ちゃんと読みましょう
Download