問題タブ [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 投票する
2 に答える
497 参照

node.js - Mocha ルート テストが非同期に実行されない

モカの使用を開始しましたが、特定のテスト ケースに問題があります。コードは次のとおりです。

データベース内にユーザーを挿入した後、一意のインデックス ルールによってエラーが発生するため、結果は false になると予想しています。このテストを実行すると、これが得られます: {success: true, redirect: '/user/registerConfirmation'}、私はこれを得る必要があります: {success: false}。各テスト (utils.js 内) の前にデータベースをクリアしないと、期待値が得られることに気付きました。このエラーは非同期エラーが原因で発生しますか? このテストを書き直して、確実に機能するようにするにはどうすればよいですか?

ありがとう

ファイル

util.jsには、テスト シーケンスの構成が含まれています。

user.jsユーザーモデル:

user.js (コントローラー)は、すべてのユーザー ルートのコントローラーです。


編集

end() 関数を試しましたが、まだ機能しません。

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

node.js - 応答後のスーパーテストの「req」オブジェクトへのアクセス

リクエストがテストされている間/後に、reqオブジェクトに直接アクセスする方法はありますか? 私は自分の戦略supertestをテストしたいので、 、、そしておそらく他のものをチェックしたいと思います。ページのリダイレクトやフラッシュをテストできることは知っていますが、それらは私の戦略が行っていることですが、オブジェクトにユーザーがいるかどうかを確認することも役立つようです。これを行うと、一度に何人のユーザーがいるかを確認することもできます.passportreq.userreq.sessionreq

このように定義されている「ローカルサインアップ」戦略でユーザーをサインアップします。

この戦略を使用する1つの方法は次のとおりです。

私の「ローカル」戦略は次のように定義されています。

たとえば、次のように両方の戦略を使用します。

私は試した

ここに表示するには長すぎる関数res内でログに記録したオブジェクトには、オブジェクトが定義されていますが、リクエストが開かれるに定義されたオブジェクトと関数しかないようです。つまり、 、 、または必要なその他のオブジェクトがありません。これらのオブジェクトは、要求が完了して新しい要求が開始された後に定義されるためです。リクエストが完了した後にのみ定義されるステータス コードもあることに気付きました。end()reqreq.userreq.session

reqテスト中のリクエストが終了した後にオブジェクトにアクセスする方法はありますか? それとも、私はこれを完全に間違った方法で行っていますか?

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

javascript - コントローラーでメソッドが呼び出されているかどうかをテストする方法は?

これは、Mocha を使用した Sails JS での非同期テストに関する質問です。

スーパーテスト ライブラリを使用して、Sails JS でコントローラー テストを作成しています。コントローラーへの HTTP POST でメソッドが呼び出されているかどうかを確認したいと思います。end()そのために、メソッドをスタブ化し、次のように呼び出されることを期待しています。

これを実行すると、アサート時にメソッドが呼び出されないため、期待は失敗します。しかし、次のように期待を入れると、setTimeoutうまくいきます:

なしでテストに合格する方法はありますsetTimeoutか?

ここに私がテストしているコード部分があります: HeartbeatController#create

プルリクエストを送信して問題を解決することもできます: https://github.com/multunus/one-mdm/issues/1

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

node.js - Express、Sequelize、mocha、および supertests を使用してロールバックを伴う単体テストを作成する方法

データベースにデータを挿入するテストを作成し、スーパーテストでリクエストをテストしてから、偽のデータでロールバックを作成しようとしています。この方法が正しいかどうか誰かが知っていますか?そうでない場合は、どちらが正しい方法か教えてください。前もって感謝します。

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

node.js - supertest: リダイレクト URL をテストします

スーパーテストを使用すると、リダイレクト コード 302 をテストできます

リダイレクトする目的の URL をテストするにはどうすればよいですか?

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

node.js - Mocha + Supertest での 404 テストの「Body Parse」エラー

Express API がさまざまなシナリオで適切な HTTP ステータス コードを正しく返すことを確認するためのテストを作成しようとしています。テストで API へのリクエストにMocha とSupertestを使用しています。現在、非常に予想外の結果が得られています。詳細については、以下で説明します。

使用: Express、body-parser、Sequelize、Mocha、Supertest

/users/:id を取得

このメソッドのテスト

404 テストで{ [Error: Parse Error] bytesParsed: 12, code: 'HPE_INVALID_STATUS' }は、コールバックで次のエラーが発生します。resですundefined。_

expectこの呼び出しに対していくつかの異なる構文形式を試し.expect(404, function(err, res) {ましたが、どれもうまくいきませんでした。これについても、さまざまな構文形式をすべて試しました。

ここで何が起こっているのかについて、誰かが洞察を提供できますか?

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

node.js - スーパーテスト リクエストで IP を設定する

スーパーテストを使用すると、node.js アプリケーションをテストするためのリクエストを作成できます

テストリクエストを行うために特定のIPを設定するにはどうすればよいですか?

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

node.js - スーパーテストは、API がコールバック/jsonp 関数を返すことを確認するのに役立ちますか?

テスト駆動型開発の精神に則り、要求されたときに API がコールバック関数にラップされた結果を返すことができることを確認する方法を見つけようとしています。このような:

モカとスーパーテストを使用しています。応答変数を文字列に変換してそれを参照文字列と比較する以外に、テスト スイートが JSON を含む関数呼び出しを受け取っていることを確認する他の賢い方法はありますか?