php Editor Banana この記事では、公開 API を使用して Alex Edwards/SCS の簡単なテストを行う方法を紹介します。 Alex Edwards/SCS は、アプリケーション内のユーザー セッションの管理を容易にするセッション管理用の PHP ライブラリです。パブリック API を使用してテストすることで、ライブラリの機能とパフォーマンスを検証し、実際のアプリケーションにおける安定性と信頼性を確保できます。この記事では、簡単なテストを実施し、テスト結果の分析と解釈を示す方法を段階的に説明します。はじめましょう!
この質問はこの質問のフォローアップ質問です。 https://pkg.go.dev/github.com/alexedwards/scs/[email protected] で簡単なテストを実行して、使用したい機能を確認したいと考えています。基本的に、セッションにデータを入力し、それを取り出して、それが同じであることを確認したいだけです。このようなもの: ### リーリー
これにより、パニックが発生します: scs: コンテキスト内にセッション データがありません。httptest パッケージからサンプルをコピーしようとしましたが、httptest.server は http.handler を実装していません (servehttp メソッドが欠落しています)。
リーリー
alexedwards/scs リポジトリ内のテストも確認しましたが、プライベート関数 addessiondatatocontext が使用されています。Go でセッションをテストする最善かつ簡単な方法は何ですか? 解決策コード内に
があるようです リーリー
テスト サーバー (ts) を
sessionmanager.loadandsave に渡そうとしています。
sessionmanager.loadandsave には
http.handler が必要であり、
ts のタイプは
*httptest.server であるのに対し、## ではないため、これは機能しません。 #http.ハンドラー
。
代わりに、実際のハンドラーを
sessionmanager に渡す必要があります。テストサーバーを作成する前に、 をロードして保存します。
これを行うには、
http.handler を返す) を
sessionmanager.loadandsave でラップします。 #。
リーリー
実際のハンドラー関数を
sessionmanager.loadandsave
httptest.newserver に渡されます。
これらをまとめると:
リーリー
以上がパブリック API のみを使用した alexedwards/scs の簡単なテストの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。