0

(CakePHP 1.3 と Taggable プラグインを使用)

テストの実行中に次のエラーで失敗します:

Fatal error: Class 'CakeSession' not found in app/plugins/tags/models/behaviors/taggable.php on line 137

私のテストでは、次のようなフィクスチャを含めています。

var $fixtures = array('app.tag','app.tagged'); //including others

ただし、焼きたてのバージョンを使用すると問題なく動作します。

var $fixtures = array('app.plugin.tags.tag','app.plugin.tags.tagged');

これに関する問題は、プラグイン テスト フォルダーからテスト フィクスチャを使用するようになったことです。ここで、そこにフィクスチャを追加して完了できますが、それは正しくないようです。

プラグイン フィクスチャ (私のアプリに固有のもの) は、私の app/tests ディレクトリから動作するはずですよね?

更新: 実際、私のデフォルトのプラグイン テスト ケースも同じエラーで失敗していることに気付いたので、現在調査中です。

4

1 に答える 1

1

問題は、Taggable がテスト中に設定されていないセッション情報を使用することでした。私のテストケースでは、次のコードを使用してユーザー ID を手動で設定しましたが、現在は機能しています。

App::import('Component', 'Session');
$Session = new SessionComponent();
$Session->write('Auth.User', array(
    'id' => 1
));
于 2013-01-02T13:44:57.400 に答える