ホームページ > バックエンド開発 > Golang > フォーム変数はテストでは使用できません

フォーム変数はテストでは使用できません

PHPz
リリース: 2024-02-06 08:09:07
転載
422 人が閲覧しました

フォーム変数はテストでは使用できません

質問内容

Go初心者です。 DeepMap OpenAPI ジェネレーターを使用して Echo サーバー上に構築された API サーバーと、pgxpool を使用して Postgres を作成しました。問題なく動作し、1 年前のものですが、それが正しく書かれているという意味ではありません :)。

テスト サーバーはシェル スクリプトと一連の Curl 呼び出しを使用しており、うまく機能していますが、Go のテスト フレームワークを使用するようにテストを更新しようとしています。いくつかの基本的なテストを行いましたが、フォーム値を必要とするものはすべて機能しません。ハンドラー関数はフォーム値を認識しないため、リクエストがフォーム値をカプセル化していないと思いますが、そうではありませんその理由がわかります。

以下は、生成された API インターフェイスの一部を実装する CreateNode() メソッドの最初の部分です。本文は省略しました。失敗している部分はコンテキスト内に表示される部分です。

リーリー

これはテスト関数です:

リーリー

完全なテスト出力については気にしません。CreateNode() が値を受け取らない場合、すべてが失敗するためです。 リーリー

私の知る限り、私は同様の例を注意深く観察しています。これで十分な詳細であることを願っていますが、不必要なサポート コードで問題を過負荷にしたくありません。

ノードのエンドポイントは

/nodes で、API のベース URL は /api ですが、私が見た例では、どちらもここには反映されていません。は不要です。 Echo の例では、常に / をエンドポイントとして使用します。


正解


わかりました、私はディンドンです。

私は何かを動作させるために多くの例をまとめましたが、テスト関数で次のことを試したのは一度だけです:

リーリー

そしてそれを

CreateNode にポップします: リーリー

これにより、次のようになります:

リーリー

リクエストが順調に進んでいることがわかりました。これはリクエストの作成方法に関係しています。

サンプルを再度確認したところ、フォームの値はあるサンプルに基づいて設定していましたが、コンテンツ タイプは別のサンプルから設定していることに気付きました。作品は以下の通りです:

リーリー

もちろん、これを JSON 経由で実行しても機能しません。CreateNode() が受信した情報を解析する方法ではないからです。

これは単なる私の不注意です!

以上がフォーム変数はテストでは使用できませんの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:stackoverflow.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート