CakePHPでフィクスチャを作成したけど、テスト実行時にフィクスチャではなくDBのデータをロードしてしまう。ちゃんとテストケース内で $fixtures に設定しているはずなのに。
そんな症状に長らく悩んでいましたが、結論から言うと、$fixturesで指定しているフィクスチャ名を書き間違えていたせいでした。ファイル名を間違えている時、テストケースはエラーを吐かず、DBを読みに行ってしまうようです。
ずいぶん悩みましたが、初歩的なミスでした。
確かめた記事
- CakePHP: Fixture file is not being loaded during tests. – msg#01313 – OSDir
- 誰からも返事無し
- fixture var $import not working on 1.2.RC3 anymore. – Defranco – com.googlegroups.cake-php – MarkMail
Mark Story「1.2のNightlyリビジョンで直ってるよ」
→解決してない
- cakephp testing suite: import fixtures tables for HABTM – Stack Overflow
- 関係無い(単なるidフィールド付け忘れ)
- Lost in Testing: Fixtures / testAction – CakePHP | Google Groups
- 解決策が無い
- CakePHP – Using fixtures
「フィクスチャがDBに入らないんだけど」
「テスト動かせば自動で入るよ」
「知ってるよ。そのはずなのに入らないから聞いてるんだ」
返事無し
- "bake test の仕様?バグ?" フォーラム – CakePHP Users in Japan
- cakePHPのfixture機能ではまった!!( ̄◇ ̄;) – takekenの勉強メモ
- 関係無い(コントローラーとモデルでfixtureの使い方が違うことに憤慨)
最近のコメント