Php单元测试会议

时间:2013-05-20 12:02:16

标签: php database unit-testing session

我一直在四处寻找如何测试会话..我真的没有找到任何有用的东西......

 $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?

有谁能请给我一个例子并解释一下,因为我这样学得最好:)或者给我一个解释的网站......

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

  

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

它们已经过测试,测试在PHP Q& A团队中完成,随时欢迎提供帮助。

  

我应该[sic!]测试来销毁会话然后查看它是否被销毁?或者做任何类型的assertEquals?

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

  

有谁能请给我一个例子并解释一下,因为[原文如此!]我[原文如此!]以这种方式学习最好:) [原文如此!]或者给我一个解释的网站... [原文如此!]

这个网站在这里。环顾四周。

答案很长:

$_SESSION这样的超级全局是PHP语言的一部分。因此,您不需要对超全局的工作进行单元测试,您可以假设它确实有效。

此外,与超全局$_SESSION的会话也是PHP语言的一部分功能。因此,如果会话有效,则无需进行单元测试。你可以假设它确实有效。

如果存在问题,那就是配置问题,单元测试不能(也不应该)处理。

如果你因为问题而问,PHP在这里介绍的全局静态状态会引导你测试其他单元,你需要模拟会话。要完成这项工作,您需要首先抽象会话,以便以后可以模拟它们。这通常从定义您自己的会话功能接口开始,然后编写一个使用PHP默认功能实现的实现。