かなりはまってしまっているので,力を貸していだたける方いらっしゃればとてもありがたいです。
公式ドキュメントを参考に
Fixtureを作り,ロードさせるところまではできました。
そして,ドキュメント通りテスト
php
1//SampleTest.php 2public function setUp() { 3 parent::setUp(); 4 $this->Sample = ClassRegistry::init('Sample'); 5 } 6 7
しかし,
php
1$sample = $this->Sample->find('first');
でデータを取ってくると$testではなく$defaultのデータベースが使用されてしまいます。
ClassRegistry.phpの中身をprintデバッグしたところ,戻り値が
php
1$instance = $reflection->newInstance($settings);
の実行結果になっており,戻り値直前までで$settings['ds'],$useDbConfigの値がtest_default($testと同じデータソースに追加しています)になっているのに関わらず$instanseの$useDbConfigがdefaultになってしまいます。
php
1debug($this->Sample->useDbConfig;) =>default 2また, 3$this->Sample->useDbConfig = 'test'; 4を実行後は 5$this->Sample->find('first'); 6で正しいデータが返ります。
AppModleやSampleモデルのコンストラクタで問題が起きてるのかもと推測しています。Core/Utility/ClassRegistryのtestPrefixedTestDatasourceケースのテストがサクセスになるので,たぶん設定がカオスなことになっているのだと思いますが何か原因となりそうなことが分かる方いらっしゃれば教えていただきたいです。
よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。