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 Q&A チームで行われています。ヘルプはいつでも大歓迎です。

[原文のまま!] セッションを破棄するテストを行い、それが破棄されているかどうかを確認しますか? または、何らかの assertEquals を実行しますか?

いいえ。完全に必要ではなく、時間の無駄です。

[原文のまま!] 私は[原文のまま!] その方法で最もよく学ぶので、誰か私に例を書いて説明してもらえませんか:) [原文のまま!] または私に説明するウェブサイトを教えてください... [原文のまま!]

このウェブサイトはここにあります。見回す。

長い答え:

のようなスーパーグローバル$_SESSIONは、PHP 言語の一部です。そのため、スーパーグローバルが機能するかどうかを単体テストする必要はありません。正常に機能すると仮定するだけでかまいません。

また、スーパーグローバルとのセッション$_SESSIONは PHP 言語の機能であり、その一部です。そのため、セッションが機能するかどうかを単体テストする必要はありません。あなたはそれがうまくいくと仮定することができます。

それらに問題がある場合、それは構成の問題であり、単体テストはそれを処理できません (すべきではありません)。

グローバルな静的状態 PHP が他のユニットをテストする際に紹介する問題のために質問している場合は、セッションをモックする必要があります。これを行うには、後でセッションをモックできるように、最初にセッションを抽象化する必要があります。それは通常、セッション機能への独自のインターフェースを定義することから始まり、次に PHP のデフォルト機能の実装を使用する 1 つの実装を作成します。

于 2013-05-20T12:08:47.440 に答える