(使用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目录中使用,不是吗?
更新:实际上,只是注意到我的默认插件测试用例也失败并出现同样的错误,所以我现在正在研究它。
答案 0 :(得分:1)
问题是Taggable使用在测试期间未设置的会话信息。在我的测试用例中,我使用以下代码手动设置用户ID,现在可以使用:
App::import('Component', 'Session');
$Session = new SessionComponent();
$Session->write('Auth.User', array(
'id' => 1
));