我一直在四处寻找如何测试会话..我真的没有找到任何有用的东西......
$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?
有谁能请给我一个例子并解释一下,因为我这样学得最好:)或者给我一个解释的网站......
感谢您的帮助。
答案 0 :(得分:1)
我应该如何[原文如此!]测试它们?
它们已经过测试,测试在PHP Q& A团队中完成,随时欢迎提供帮助。
我应该[sic!]测试来销毁会话然后查看它是否被销毁?或者做任何类型的assertEquals?
没有。完全没必要,只是浪费时间。
有谁能请给我一个例子并解释一下,因为[原文如此!]我[原文如此!]以这种方式学习最好:) [原文如此!]或者给我一个解释的网站... [原文如此!]
这个网站在这里。环顾四周。
答案很长:
像$_SESSION
这样的超级全局是PHP语言的一部分。因此,您不需要对超全局的工作进行单元测试,您可以假设它确实有效。
此外,与超全局$_SESSION
的会话也是PHP语言的一部分功能。因此,如果会话有效,则无需进行单元测试。你可以假设它确实有效。
如果存在问题,那就是配置问题,单元测试不能(也不应该)处理。
如果你因为问题而问,PHP在这里介绍的全局静态状态会引导你测试其他单元,你需要模拟会话。要完成这项工作,您需要首先抽象会话,以便以后可以模拟它们。这通常从定义您自己的会话功能接口开始,然后编写一个使用PHP默认功能实现的实现。