3

Cake テスト機能を使用してアプリをテストしたいのですが、AppTranslateBehavior (カスタム動作) で使用されている I18nModel に問題があります。エラーが発生しました:

モデル I18nModel のテーブル i18n がデータソース テストで見つかりませんでした。

テスト ケースでは、'plugin.languages.i18n' (フィクスチャはプラグイン内にあります) を $fixtures に追加しました。私のフィクスチャは次のようになります。

class I18nFixture extends CakeTestFixture {

public $name = 'I18n';
public $table = 'i18n';
public $import = array(
    'table' => 'i18n',
);}

私も試しました

class I18nModelFixture extends CakeTestFixture {

public $import = 'I18nModel';
public $table = 'i18n';
public $fields = array(
    'id' => array('type' => 'integer', 'key' => 'primary'),
    'locale' => array('type' => 'string', 'length' => 6, 'null' => false),
    'model' => array('type' => 'string', 'null' => false),
    'foreign_key' => array('type' => 'integer', 'null' => false),
    'field' => array('type' => 'string', 'null' => false),
    'content' => array('type' => 'text')
);
public $records = array();}

および他の多くのバリエーションがありましたが、どれも機能しませんでした。

私は何かが足りないのですか?

4

1 に答える 1

3

Cakephp が提供するコアの translates フィクスチャを使用する必要があります。

class MyModelTest extends CakeTestCase {
    public $fixtures = array(...,'core.translates');
    ...
}

編集: フィクスチャ名は core.translateあり、core.translate ではありません

于 2014-06-23T13:39:33.127 に答える