如果您已登录,我发现从浏览器运行时测试失败。我需要确保在运行此测试之前清除会话。有没有一种简单的方法可以在测试中清除CakePHP会话?
我试过调用Session :: Destroy();但是测试似乎无法获得Session的可见性。
也许我正在尝试导入Session错误? 我正在使用:App :: import('Core','Session');
答案 0 :(得分:1)
您应该模拟Session组件。 Mark Story自己写了一篇文章,显示how to test controllers。
答案 1 :(得分:0)
我相信gustavotkg是正确的。我们应该使用模拟对象。不幸的是,按照设置代码的方式执行此操作并不完全是直截了当的。我将不得不回去重做一些事情。对于临时修复,这就是我所做的:
$appController = ClassRegistry::init('AppController');
$appController->constructClasses();
$appController->Session->destroy();
答案 2 :(得分:0)
if(App::import('Core','Session')) {
$session = new CakeSession();
$session->start();
}
希望这可以帮到你..