单元测试Zend_Session

时间:2013-01-18 14:15:35

标签: php unit-testing zend-framework zend-session

我测试zend_session有问题,我的测试看起来像这样:

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?

如果我错了,请告诉我,因为我无法理解。

1 个答案:

答案 0 :(得分:0)

每次从会话类访问数据时,都不会评估到期时间,就像首次加载时一样。一个典型的PHP脚本永远不会花费一秒钟来执行,因此您尝试测试的情况不应该发生在现实世界中。

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