問題タブ [supertest]

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 に答える
420 参照

testing - スーパーテストはexpress.js 2.5.8と互換性がありますか?

Express.js バージョン 2.5.8 (レガシー コードから) を使用しており、スーパーテストを使用してルートの読み込みをテストしようとしています。サーバーの実行中に問題が発生していますが、停止していません。を使用してテストを実行するjasmine-nodeと、アサーションが成功したことが示されます。ただし、コンソールには、プロセスがまだ実行中であることが示されます。

この例は、express.js 3.xx を使用している可能性が高いものから変更されています。私の仮定では、express サーバーの動作が異なり、リクエストがテスト内で終了したときに閉じられないということです。この問題を修正する方法がわかりません。

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

testing - 監視中に Mocha テストが失敗する (「結局」: done() が複数回呼び出される)

--watch最初の実行では問題なく合格する Mocha テストがありますが、変更が行われ、Mocha が (フラグを使用して) 2 回目のテストを再実行すると、失敗します。私のテスト:

エラー:

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

node.js - node.jsのcompoundjsアプリケーションでセッションオブジェクトをモックする方法

node.js に複合 js アプリケーションがあります。一部のアクションでは、認証が成功した後にのみ入力される「session.user」値の存在をチェックするフィルターがあります。しかし、そのようなアクションの単体テスト ケースを作成すると、session.user の値が未定義になります。スーパーテスト、sinon モジュールを使用して get を作成し、リクエストをアクションに投稿しますが、「session.user」値の値が定義されていないため、認証されず、適切なアクションにリダイレクトされます。私は同じで立ち往生しているので、私を助けてください。

session.user 値を認証できるように、正確に何をモックする必要があるか教えてください。前もって感謝します、

肯定的な答えを待って、

ありがとう、

0 投票する
3 に答える
630 参照

node.js - Express Apps をテストするためのステートフル インタラクション

Express で単純な JSON API を作成し、モカを使用してブラックボックス テストを実行しようとしています。API を徹底的にテストするには、異なるユーザーとして認証する必要があるため、特定の機能の各テストは、ログイン操作と、実際の機能をテストする 1 つ以上の認証済み要求の少なくとも 2 つの要求で構成されます。

django.test.clientHTTP クライアントとサーバー間のステートフルなやり取りをシミュレートするのに似たライブラリは見つかりませんでした。Supertest は人気があるようですが、django テスト クライアントに比べて非常に低レベルです。これは、簡単な認証済みテストを作成する方法です (私の coffeescript を許してください)。

これは本当にインタラクションを実行する最もクリーンな方法ですか? 非同期性(99%のケースでテストの単純なシリアル化以外に何かが必要になるわけではなく、コールバックは混乱するだけです)とステートフルネスに役立つライブラリはありますか?次のようになります。

似たようなものがなければ、自分で書くべきです :-) コンテキストに依存しているのは、私が最近 ZappaJS を使いすぎているためです。CoffeeScript の太い矢印のおかげで、それはまったく悪いイディオムではありません。

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

express - mocha/express/supertest: 'エラー: done() が複数回呼び出されました'

モカとスーパーテストを使用して、エクスプレスでルートをテストしようとしています。残念ながら、リダイレクトをテストできないようです。

ここに関連するコードがあります

私のapp.jsにはこれがあります:

app.get('/', routes.index);

私の routes.index は次のようになります。

私のログインページは次のとおりです。

テストを実行すると、次のエラーが表示されます。実際には複数回実行されていると思われます。

関連する可能性のあるバグをいくつか調べて見つけましたが、それらはほぼ1年前のものであり、推奨される回避策に従っていますが、役に立ちません: https://github.com/visionmedia/supertest/issues/11#issuecomment-20251424 およびExpress で使用されるテスト スイート: https://github.com/visionmedia/express/blob/master/test/res.redirect.js ここで途方に暮れています。ありがとう

0 投票する
4 に答える
9088 参照

regex - Mocha Supertest json レスポンス ボディ パターン マッチングの問題

API 呼び出しを行うときに、返された JSON の結果を検査したいと考えています。本文と一部の静的データが適切にチェックされていることがわかりますが、正規表現を使用する場所はどこでも壊れています。これが私のテストの例です:

出力のイメージを次に示します。

ここに画像の説明を入力

json ボディ応答のパターン マッチングに正規表現を使用するアイデアはありますか?

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

javascript - Node.js スーパーテスト投稿 gzip データ

次のように、圧縮されたデータを URL に投稿するテストを書きたいのですが、うまくいきません。

問題は send がバッファを受け入れないことだと思います。ただし、expect() メソッドと end() メソッドを機能させたいと思っています。

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

node.js - リダイレクト後に supertest を使用して didFlash をチェックする

ユーザー破棄コールバックがユーザーコントローラーのエラーを受け取ったときに何が起こるかをテストしようとしています。destroy がエラーを受け取ると、次のことを行います。

これまでのテストは次のとおりです。

この質問を見たことがありますが、そのres.header..部分は期待どおりに機能します。ただし、そのリダイレクト後に発生するフラッシュをテストする方法については、まだ混乱しています。