Php 单元测试Zend_会话

Php 单元测试Zend_会话,php,unit-testing,zend-framework,zend-session,Php,Unit Testing,Zend Framework,Zend Session,我在测试zend_会话时遇到问题,我的测试如下: Bootstrap.php public function _initSession() { try { Zend_Session::setSaveHandler(new APP_Session_SaveHandler_Memcached()); Zend_Session::start(); $session = new Zend_Session_Names

我在测试zend_会话时遇到问题,我的测试如下:

Bootstrap.php

public function _initSession() {
    try
    {
        Zend_Session::setSaveHandler(new APP_Session_SaveHandler_Memcached());            
        Zend_Session::start();

        $session = new Zend_Session_Namespace('APP');
        Zend_Registry::set('session', $session);
    }
    catch(Exception $e) 
    {
        Zend_Registry::get('log')->err($e);
    }
}  
SessionTest.php

public function testSession() { 
    $session = Zend_Registry::get('session');
    $session->setExpirationSeconds(1);
    $session->testIndex = "testValue";

    $this->assertEquals('testValue', $session->testIndex);

    sleep(3);

    $this->assertEquals(null, $session->testIndex);
}
第一个断言是可以的,但是第二个断言总是说$session->testIndex的值是“testValue”,而它应该是null,对吗


如果我错了,请告诉我,因为我搞不清楚。

不是每次从会话类访问数据时都会计算过期时间,就在第一次加载数据时。一个典型的PHP脚本不应该占用一秒钟的时间来执行,因此您尝试测试的案例不应该发生在现实世界中

我还想补充一点,在ZF中没有很多这样的点测试功能——ZF类已经过单元测试了。测试应用程序,而不是框架