問題タブ [httpx]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
121 参照

asynchronous - httpx.AsyncClient を使用した pytest は、新しく作成されたデータベース レコードを見つけることができません

httpx.AsyncClientFastAPI を使用して pytest と sqlalchemy AsyncSessionをセットアップしようとしています。非同期のものを除いて、すべてが実質的にFastAPI Fullstack repoのテストを模倣しています。

CRUD 単体テストに問題はありません。この問題は、httpx lib から AsyncClient を使用して API テストを実行するときに発生します。

問題は、クライアントによって行われたリクエストは、クライアント フィクスチャを初期化 (セットアップ) する前に作成されたユーザー (私の場合) にしかアクセスできないことです。

私のpytest conftest.pyセットアップは次のようなものです:

したがって、この場合、API テストの実行中に使用できるのはスーパーユーザーtest.superuser@example.comと通常ユーザーのみです。test.user@example.comたとえば、以下のコードはアクセス トークンを正常に取得できます。

ただし、以下の変更されたコードはそうではありません。ここでは、新しいユーザーを挿入してから、ログインしてアクセストークンを取得しようとしています。

ここで何が起こっているのですか?どんな助けにも感謝します!

0 投票する
0 に答える
162 参照

python - Pytest で httpx.AsyncClient() をモックする方法

API からデータをフェッチするために使用する関数のテスト ケースを作成する必要があります。そこでは、 httpx.AsyncClient() をコンテキストマネージャーとして使用しました。しかし、その関数のテストケースの書き方がわかりません。

API を呼び出さずにテスト ケースを作成する必要があります。したがって、この場合、client.post()をモックする必要があると信じていますが、その方法がわかりません。誰かがこれを理解するのを手伝ってくれるなら、それは私にとって本当に役に立ちます。

この画像には私のコードブロックも含まれています

0 投票する
0 に答える
81 参照

python - uvicorn ランダム エラー「無効な HTTP 要求が受信されました」

最新のuvicorn[標準] 0.17.1を使用。試しconfig(timeout_keep_alive=0, http='h11',...)てみたデフォルト (httptools を使用する http='auto')。を使用しuvloopます。

別のプロセスでサーバーを実行しています。を使用して呼び出しhttpxます。「無効な HTTP リクエスト」が発生し続けます (httptools と h11 の両方に問題があり、一見同様の性質のものです)。ランダムに表示されます。さらに数回呼び出した後、失敗する場合があります。

starlette TestClient同じデータを使用すると正常に動作します。

詳細なエラー情報を取得しました (ただし、同じクライアント ペイロードを使用したこの呼び出しが常に失敗するとは限りません):

助けてください。ありがとう!