Go初心者です。 DeepMap OpenAPI ジェネレーターを使用して Echo サーバー上に構築された API サーバーと、pgxpool を使用して Postgres を作成しました。問題なく動作し、1 年前のものですが、それが正しく書かれているという意味ではありません :)。
テスト サーバーはシェル スクリプトと一連の Curl 呼び出しを使用しており、うまく機能していますが、Go のテスト フレームワークを使用するようにテストを更新しようとしています。いくつかの基本的なテストを行いましたが、フォーム値を必要とするものはすべて機能しません。ハンドラー関数はフォーム値を認識しないため、リクエストがフォーム値をカプセル化していないと思いますが、そうではありませんその理由がわかります。
以下は、生成された API インターフェイスの一部を実装する CreateNode()
メソッドの最初の部分です。本文は省略しました。失敗している部分はコンテキスト内に表示される部分です。
これはテスト関数です:
リーリー 完全なテスト出力については気にしません。CreateNode()
が値を受け取らない場合、すべてが失敗するためです。
リーリー
ノードのエンドポイントは
/nodes で、API のベース URL は
/api ですが、私が見た例では、どちらもここには反映されていません。は不要です。 Echo の例では、常に
/ をエンドポイントとして使用します。
私は何かを動作させるために多くの例をまとめましたが、テスト関数で次のことを試したのは一度だけです:
リーリー
そしてそれをCreateNode にポップします:
リーリー
リーリー
リクエストが順調に進んでいることがわかりました。これはリクエストの作成方法に関係しています。サンプルを再度確認したところ、フォームの値はあるサンプルに基づいて設定していましたが、コンテンツ タイプは別のサンプルから設定していることに気付きました。作品は以下の通りです:
リーリー
もちろん、これを JSON 経由で実行しても機能しません。CreateNode() が受信した情報を解析する方法ではないからです。これは単なる私の不注意です!
以上がフォーム変数はテストでは使用できませんの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。