CakePHPのFixtureにおいてテーブルの生成が行われない
CakePHPv2.5.5でUnitTestを行っています。
構成
databases.php
public $xxxx = array(
// ...
);
public $test_xxxx = array(
'datasource' => 'Database/MysqlExportDb',
'persistent' => false,
'host' => 'localhost',
'login' => 'root',
'password' => 'root',
'database' => 'test',
'prefix' => '',
'encoding' => 'utf8',
);
Fixture定義
class KeywordFixture extends CakeTestFixture
{
public $useDbConfig = 'test_xxxx';
public $fields = array(...);
public $records = array(...);
}
テストコード側
class ShellTest extends CakeTestCase
{
public $fixtures = array(
'plugin.search_export.keyword',
);
...
現象1
keywordsテーブルが存在しない状態でテストを実行すると以下のエラーが発生します。
MissingTableException: Table keywords for model Keyword was not found in datasource test_xxxx.
現象2
手動でkeywordsテーブルを作成して実行を行うと、テストが正しく実行された後keywordsテーブルが消滅します。
質問
現象2でテーブルが消えていることから何らかの形でFixtureは認識されていると考えています。
しかしテーブルの生成が行われない原因が分かりません。
考えられる原因を教えてください。
https://book.cakephp.org/2.0/ja/development/testing.html#id15