1

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

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

谁能给我写一个例子并解释一下,因为我以这种方式学得最好:)或者给我一个解释......

感谢帮助。

4

1 回答 1

1

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

他们已经为您进行了测试,测试在 PHP 问答团队中完成,随时欢迎帮助。

我应该 [原文如此!] 测试以破坏会话,然后查看它是否被破坏?或者做任何一种assertEquals?

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

谁能给我写一个例子并解释一下,因为[原文如此!]我[原文如此!]这样学得最好:) [原文如此!]或者给我一个解释...... [原文如此!]

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

长答案:

像这样的超全局变量$_SESSION是 PHP 语言的一部分。因此,如果超全局有效,您不需要进行单元测试,您可以假设它可以正常工作。

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

如果这些有问题,那就是配置问题,单元测试不能(也不应该)解决这个问题。

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

于 2013-05-20T12:08:47.440 回答