我测试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?
如果我错了,请告诉我,因为我无法理解。
答案 0 :(得分:0)
每次从会话类访问数据时,都不会评估到期时间,就像首次加载时一样。一个典型的PHP脚本永远不会花费一秒钟来执行,因此您尝试测试的情况不应该发生在现实世界中。
我还要补充一点,ZF中没有很多点测试功能,这样的ZF类已经过单元测试。测试您的应用程序,而不是框架。