2013-04-27 46 views
0

我想在我的应用程序中使用会话。但是,我没有让他们在一个非常简单的phpunit测试中工作。看看下面的测试:Phalcon会话:缓存文件夹,错误报告/异常?

<?php 

namespace Tests\App; 

class SessionTest extends \PHPUnit_Framework_TestCase 
{ 

    public function testSession() 
    { 
     $session = new \Phalcon\Session\Adapter\Files(array('uniqueId' => 'my-private-app')); 
     $session->start(); 

     $session->set('foo', 'bar'); 
     $this->assertEquals('bar', $session->get('foo')); 
    } 

} 

导致:

有1次失败:

1)测试\软件\ SessionTest :: testSession无法断言空 匹配预期的酒吧”。

我在这里错过了什么吗?根据文档,这就是简单的会话应该如何工作。

之后$会话级> start()方法对会话对象使用的var_dump还显示,会话对象认为无法启动:

class Phalcon\Session\Adapter\Files#226 (3) { 
    protected $_uniqueId => 
    string(14) "my-private-app" 
    protected $_started => 
    bool(false) 
    protected $_options => 
    array(1) { 
    'uniqueId' => 
    string(14) "my-private-app" 
    } 
} 

不应该有某种捕反馈,本次会议显然,起步有困难?目前我正在使用Phalcon 1.0.1。提前感谢您的任何建议!

+0

顺便说一句,使用session_start()和_SESSION全局数组完美无瑕。 – Philipp 2013-04-28 08:31:41

回答

1

由于PHPUnit会自动生成一些输出,这会隐式地使报头在请求中发送,使得Phalcon无法启动会话。在这种情况下,您可以使用@session_start()强制启动会话,使_SESSION超全局可用。