記すだけで全てが正される。そんなセカイをボクは生きていくんだ (訳:phpunit使いました)
「それは神の預言書のように。時流に迷える猫のように」
先日リジェクトを受けたアプリは、広告のデザインを変更して再申請した。
これで上手くいかなかったらほんと泣き寝入りするしかない。
いや、個人でやってるアプリならそれでいいけど、請けちゃってるから泣き寝入りするわけにもいかなくて!
説得するしかない。英語で!!!
▼テスト自動化
別の案件である程度コードを書き終わったと思ったら、「テスト自動化しちゃってー」と言われた。
ヤバい……。テスト自動化なんてしたことないよ。
というわけで早速google先生に聞いてみた。
phpだとphpunitというのを使うと良いらしい。そして今触っている環境はFuelPHPというやつだから、これを合わせたような記事が見つかればできたも同然だ!
▼fuelPHPでphpunitを試すよ!
http://fuelphp.jp/docs/1.6/general/unit_testing.html
記事を探していたら、なんだか結構簡単にテストを書けそうなことを書いてあったので、「まあ1時間くらいでできるだろう」なんて思った。
甘かった。
1. phpunitって別にインストールする必要があるらしい!
fuelPHPってすごい!なんてことをいろんなところに書いてあったものだから、phpunitなるものも勝手に備わっているとか、そんなあまっちょろいことを考えてました。
現実はそんなに甘くない。
http://phpunit.de/getting-started.html
けれど、ここに書いてある通りにやればできるらしいので、このくらいならできる、と思って早速やってみると……
2. wgetがない
wgetなんてコマンドないよ! ってターミナル師匠に怒られました。
すみません、師匠。というわけで今度はwgetのインストールの仕方を。
http://www.absolute-keitarou.net/blog/?p=296
ヤバいよ!すごいよ!
ここに書いてある通りにやったら簡単にインストールできたよ!
唯一、
sudo ./configure –with-ssl=openssl
ってところが
sudo ./configure -–with-ssl=openssl
とやらないと、自分の環境では通らなかったよ!
これで無事wgetも手に入れて、phpunitも手に入れてめでたしめでたし……じゃなかった!
3. phpStome上で動かしたいのだが
phpunitはインストールしたものの、はて、これをどうやって動かせばいいのだろうか。
いろんなサイト上には「テストが走って成功すると緑のランプがつくよ!」「失敗すると赤いランプがつくよ!」なんて面白そうなことが書いてあって、早くみたい!
実行する度に緑やら赤に光るランプがみたいよおおお!
まずはphpunitを設定しないといけないらしい。
http://d.hatena.ne.jp/epy0n/20110511/1305097833
これで、phpstomeからphpunitが使えるようになったらしい。
けど肝心のテストはどうやるんだろう。画面が微妙に違って、自分の頭ではついていけないので、他の記事に頼る事に。
http://www.findxfine.com/programming/php/995557148.html
Testscope: Class
Class: CalcTest
File: CalcTest.phpのパス
と設定すれば動くとか。
とりあえず、サンプルのコードを全部コピーして貼付けてやってみたところ……!
動いた! 動いたよおおおおお!
緑のランプが神々しく光ってるよおおおお!
こんにちは、phpunit! こんにちはTDD!
しかし、次の問題。
DB接続が出来ない。。。。。。。。
というか指定したクラス以外のテストができない。。。。
単体テストだからそういうものなのかな? 複数のクラスが絡み合うようなテストはできないってことなのかな?
そうなると結局、今までみたいなかいはつ 方法になってしまう気が。。
また明日ももう少し調べてみよう。