【问题标题】:Php unit-testing sessionsPHP 单元测试会话
【发布时间】:2013-05-14 23:39:42
【问题描述】:

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

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

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

感谢您的帮助。

【问题讨论】:

    标签: php database unit-testing session


    【解决方案1】:

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

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

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

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

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

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

    长答案:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 2011-05-07
      • 2011-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多