神記逸天プログラマーブルリーデイズ

行き詰まったことをメモっておく中二プログラマーのブログ。スマホアプリとかゲームアプリ関係が多い

悠久の時を経て、蘇らないキオク (訳:前動いたはずのphpunitが動かなくなった

「呼びかけるも、音は悲しく響いて、君の声は聞こえなくて」

またずいぶんと間が空いてしまったああ!
けれど、大丈夫。日記は書いてなくとも、日々中二な台詞で会話をしているから(痛い人

前回の日記から色々あったのだけれど、それはいつか書くとして(書かないフラグ
気がついたらphpunitが動かなくなっていたので、設定のやり直しついでにoilなるものに手を出してみた。

やったこと、その1「oilを使ってみる!」
もうね、怖いから、ここに書いてある通りにやったよ!
http://qiita.com/uchiko/items/a5c2e45264963acc0e4a
http://qiita.com/uchiko/items/b62eafc18519a5970046

phpのインストール自体はやっているので、実際には以下の手順でやった!

1.Composerでアップデート
$ php composer.phar self-update
$ php composer.phar update

2. Oilのインストール
$ php oil refine install
※自分の環境にはcacheフォルダがないって怒られたので追加した!

3. phpUnitのインストール
composer.jsonに以下を追加
"require": {
...
"phpunit/phpunit": "4.1.*",
"piece/stagehand-testrunner": ">=3.5.0"
},

4. Oilの設定
$ cp fuel/packages/oil/config/oil.php fuel/app/config/
fuel/app/config/oil.phpを修正
'autoload_path' => '' ,
'binary_path' => DOCROOT.'fuel/vendor/bin/phpunit' ,

5. テストを実行
$ php oil test --group=Core
※何故かテストには失敗する……

この手順でやったら素直に動いてくれました。
よーし、ガリガリテストを書いていくぞー!


やったこと、その2「DBを使ったテスト!」
と思ったら今度はDBに接続するところでエラー
oilははるniにDBを使ったテストをさせてくれないというのか!?

PDOException: SQLSTATE[HY000] [2002] No such file or directory
ぴーえちぴーでーたおぶじぇくとえくせぷしょん、えすきゅーえるすてーと・・・なんでしょう、このエラーは。

エラー番号みたいなのも出てるし検索すれば引っかかるかな。はい、来ました!

http://spicy-space.hatenablog.com/entry/2013/08/04/225743

しかし、この通りやっても動かない・・・なんで!?
というかいくらdb.phpを変更してもエラー文に変化がない、なんで!?



config/development内のdb.phpをずっと触ってました。。。
はるniの環境下ではテスト時にはconfig/test内のdb.phpが読み込まれるようで、これを修正したところちゃんと動きました。 良かった!
db.phpはテスト用とか開発用とか色々準備している人は気をつけた方がいいと思う!(初歩的なミス

これでDBを使ったテストをたくさんかけるぞおお! わああああい!