問題タブ [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 に答える
124 参照

javascript - Mocha の before 関数内でログインしたエージェントを取得できません

私はmochaでログインプロセスをテストしていました。これが私のテストケースの例です

registerと関数の両方loginが正常に機能し、複数の前も期待どおりに定義の順序で実行され、最初registerlogin次にリクエストされました。しかし、3 番目beforeの では、/verify常にagentログインしていないと言います。

コードを次のように変更すると:

そして、今回agentは期待通りに記録されました。それは奇妙だ。誰かが私を助けてくれることを願っています、ありがとう。

0 投票する
2 に答える
3399 参照

javascript - EADDRINUSE を引き起こすモカでスーパーテストを使用する 2 つのファイル

サーバー構成とルートハンドラーの単体テストにスーパーテストを使用しています。サーバー構成のテストは にtest.server.jsあり、ルート処理のテストは にありtest.routes.handlers.jsます。

を使用してすべてのテスト ファイルを実行するmocha .と、EADDRINUSE. 各ファイルを個別に実行すると、すべてが期待どおりに機能します。

request = require('supertest')どちらのファイルも、スーパーテストと Express サーバー ファイル を定義して必要としますapp = require('../server.js')。ではserver.js、サーバーは次のように起動されます。

私の実装に何か問題がありますか?EADDRINUSEテスト実行時のエラーを回避するにはどうすればよいですか?

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

node.js - ダイジェスト認証によるルートのテスト

ダイジェスト戦略によって保護されている API に対していくつかのテストを作成しようとしています。

スーパーテストとリクエストを試みましたが、どちらも認証に失敗しました。API は、passport-http ダイジェスト メソッドを使用します。何か案は?

アップデート

最初に curl でいくつかの問題が発生し、パスワードが bcrypt で生成されていることがわかったので、データベース内のパスワードをプレーン テキストのパスワードに変更しました。SHA1 で動作させようとしましたが、すぐにはうまくいきませんでした。リクエストをテストするために、今はそのままにしておきます。

これは curl からの出力です。テストのリクエストはまだ機能しません。

更新 2 リクエストを少し変更した後、最終的に curl とまったく同じヘッダーになりましたが、応答で 401 が返されます。

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

javascript - Supertest とモック データベースを使用した Express JS 統合テスト

スーパーテストを使用して Express JS REST API をテストすることはできますが、実際のデータベース接続をモック データベース オブジェクトに置き換えることはできますか? データベース モデルとアプリケーションの他の部分をカバーする単体テストと、実際のデータベース接続を行う API エンドポイントの機能テストがありますが、機能テストに似ているがモック データベース接続を使用する統合テストを作成するという奇妙な要件があります。サンプルのエンドポイント コントローラーは次のとおりです。

そしてURIのインデックスは

コントローラーで使用されるリスト モデルは、データベースに接続し、出力されるデータを取得します。課題は、スーパーテストを使用してリクエストを作成し、URI からデータを取得しながら、実際のデータベース呼び出しをモックすることです。

これが悪い、または無意味な考えだと思う場合を含め、どんな情報でも役に立ちます

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

node.js - Node.js / Express / Mocha / Supertest Rest API - 空のリクエスト本文

これに対する解決策を見つけるために、できる限りあらゆる場所を探しました。私が見つけた唯一のものは、未回答の投稿です。何か見落としがありましたら申し訳ありません。

POST問題は、API で値を取得しようとすると/createQuestion、本文が空/未定義になることです。Cannot read proprety 'question' of undefinedAPI からこのようなエラーが発生します。

エクスプレス API:

テスト:

私は何が欠けていますか?データを別の形式で.send()送信していますか? リクエストのボディに入れてPOSTいませんか?POST

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

javascript - Supertest での Mongoose オープン接続の問題

エラーが発生したため、複数の Supertest/Mocha テストを実行できません。ループして接続ステータスを確認することを提案するこの投稿Error: Trying to open unclosed connection.を見つけました。より良い方法があるかどうか疑問に思っていますか?おそらく、これを処理するために最近 Supertest に追加されたものです。

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

node.js - Mongoose モデルと Express Route で mocha テストを実行するとタイムアウトする

Mongoose モデル高速アプリ (ルート) のテストの作成に問題があります

私は非常に単純なapp.jsファイルを持っています:

model私のマングースモデルを含むフォルダーがあります。

私はtestフォルダを持っていますaccountTest.js- 次のように見えます:
(これは私のアカウントモデルをテストするためのものです)

utils はここから取得されます: http://www.scotchmedia.com/tutorials/express/authentication/1/06

この 1 つのテストだけにとどめておけば、これはうまくいきます。

別のテストを追加して、高速ルートをテストするには、次のようにします。

次に、モデルのテストでタイムアウトエラーが発生します...

それを実行している行はapp = require('../../app')
、それを削除すると、タイムアウトはありません。

私はそれがマングース接続と関係があるかもしれないことを認識していますが、テスト間でそれを「共有」する方法がわかりませんか?