2013-04-27 37 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超全局可用。