2013-05-20 59 views
1

我一直都围绕如何测试会话.. iven't真发现的有用什么东西......PHP的单元测试会话

$user_id = $_SESSION['user_id']; 
    $login_string = $_SESSION['login_string']; 
    $username = $_SESSION['username']; 
    $ip_address = $_SERVER['REMOTE_ADDR']; // Get the IP address of the user. 
    $user_browser = $_SERVER['HTTP_USER_AGENT']; // Get the user-agent string of the user. 

我应该怎么测试呢?

我应该测试摧毁会议,然后看它是否被销毁?或者做任何类型的assertEquals?

任何人都可以请给我一个例子,解释,becaouse我学得最好以这种方式:)或者给我一个网站,解释......

感谢您的帮助。

回答

1

[原文如此!]我应该[原文如此!]测试它们吗?

他们已经过测试,测试完成在PHP Q &一个团队,随时欢迎帮助。

难道我[原文!]测试摧毁会议,然后看看它的销毁?或者做任何类型的assertEquals?

不,完全没有必要,只是浪费时间。

任何人都可以请给我一个例子,解释,becaouse [原文如此]我[原文如此]学习这种方式最好:) [原文如此!],或给我一个网站,解释...... [原文如此! ]

此网站的确如此。环视四周。

龙答:

超级全局像$_SESSION是PHP语言的一部分。因此,如果一个超全球工作,你不需要进行单元测试,你可以假设它工作正常。

与超全球$_SESSION的会话是PHP语言的一个特性和部分。因此,如果会话有效,则不需要进行单元测试。你可以假设它工作正常。

如果这些问题存在,那么这是一个配置问题,单元测试不能(也不应该)关心这个问题。

如果你是因为这个问题而提出这个问题,那么PHP在这里引入了全局静态状态来测试其他单元,所以你需要模拟会话。为了做到这一点,你需要首先抽象会话,以便以后可以嘲笑它们。通常开始于将自己的接口定义为会话功能,然后编写一个使用PHP默认功能实现的实现。

+0

感谢您的所有答案!并特别感谢哈克:)! – user2354898