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

node.js - セイルコントローラーのテスト

セイルコントローラーをテストしようとしています。しかし、UserController.test.js でこのコード行を使用している場合、エラーをスローしても未定義のアドレスを呼び出すことはできません

bootstrap.test.js で、このように帆を宣言しました

PS: 私は、sails.hooks が正常に動作していることを確認しました。http メソッドを呼び出した場合にのみ、そのエラーが発生します。

テストのためにこのリンクを たどっています。帆のテスト

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

node.js - 応答本文が空であることをアサートする

応答本文が空であるかどうかをアサートしようとしていますが、エラーが発生しました:

どうしたの?この問題を解決するにはどうすればよいですか?

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

node.js - Passportjs、mocha、supertest ECONNREFUSED

mocha、supertest、および Passport で認証をテストしようとしていますが、接続拒否エラーが発生します。アプリの起動方法に関係していると思います...

このユーザーは私のmongoデータベースに存在します。2 レベル高いサーバー ファイル内:

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

node.js - 説明ブロック内の各テストの前のagent.auth

以下の作品

.auth('testusername', 'validuserpass')ここで、「ログイン時」ブロックにさらに多くのテストを追加したい場合、毎回この行を繰り返したくありません。認証コードを beforeEach に入れる必要があります。それが beforeEach の目的だからです。

だから私はこれを試しました:

何が起こるかはagent.auth定義されていません。authの結果でメソッドが定義されていると思いますauth.post

これを行う方法はありますか?

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

node.js - Express Response オブジェクトで Cookie データを取得していますか?

私はちょうどいくつかの API テストを行っており、送信された Cookie データが正しいことを確認しようとしていますが、応答オブジェクトからの Cookie の取得に関するドキュメントは見つかりません。要求からのみです。

リクエストで行うように、これを行う簡単な方法はありますか?req.cookies["myCookie"]ヘッダーを取得してそこからset-cookieを取得できることは知っていますが、そこから手動でCookieデータを解析しようとすると少し混乱します.

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

node.js - 単一の grunt コマンドからアプリとモック テストを実行するための Gruntfile

動作する Node.js Express REST API アプリがあります。良い。

上記の API アプリをテストする Mocha/Chai/Supertest モックがあります。良い。

ただし、アプリを起動してから、個別に模擬テストを実行する必要があります。

API アプリを起動する単一の grunt コマンドを実行するにはどうすればよいですか?

それとも、何らかのテスト モードで (env var を介して) API アプリを実行し、テストのみのロジックで何らかの方法でモック テストを呼び出す必要がありますか?

いくつかのことを試して何かを動作させることはできますが、良い方法は何ですか? (「ベスト プラクティス」という言い回しを使いすぎないようにします。)

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

unit-testing - モカ/スーパーテストを使用したセイルズ/ウォーターライン モデルの単体テスト: toJSON() の問題

Sails アプリケーションのモデル、コントローラー、およびサービスで単体テストをセットアップしています。User モデルをテストしているときに、紛らわしい問題に遭遇しました。の抜粋User.js:

以下は私test.jsのもので、モカで実行することを意図しています。pluralizeblueprints config でフラグをオンにしたことに注意してください。また、Ember Data に準拠したブループリントを作成するために、Sails-ember-blueprintsを使用します。したがって、私のリクエストは次のようになります{user: {...}}

User.isAdmin への書き込みアクセスを禁止するポリシーを設定する前に、user.isAdmin 属性がこのリクエストによって更新されることを期待しています。テストを実行する前に、ユーザーの isAdmin フラグが true に設定されています。テストを実行すると、フラグが更新されていないことが示されます。

クライアント側で実行される次の QUnit テストは isAdmin 属性を更新するため、これはさらに不可解です。ただし、更新されたかどうかはわかりません。

mongoDB コンソールで:

さらに不可解なのは、コメントアウトするdelete obj.isAdminUser.toJSON()mocha テストに合格することです!

だから、私は疑問に思います:

  • Waterline モデルの toJSON() メソッドは、出力フィルタリングにのみ使用されますか? または、update() などの書き込み操作に影響がありますか。
  • この問題はスーパーテストに関連している可能性がありますか? 私の QUnit テストの jQuery.ajax() は isAdmin フラグを変更するため、スーパーテスト リクエストが変更しないのは非常に奇妙です。

どんな提案でも本当に感謝しています。

0 投票する
5 に答える
21120 参照

node.js - supertest と Node.js を使用するこのテストでは、res.body は空です

node.js API をsupertestres.bodyでテストしていますが、返されるオブジェクト スーパーセットが空である理由を説明できません。データはres.textオブジェクトに表示されますが、表示されませんres.body。これを修正する方法はありますか?

私はExpressを使用していbody-parserます:

私がテストしているAPIメソッドは次のとおりです。

この API メソッドに対して実行しているテストは次のとおりです。

私が受け取る失敗:

最後に、 の結果の抜粋を次に示しconsole.log(res)ます。

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

node.js - スーパーテスト、安全な REST API のテスト

によって保護された REST API の統合テストを作成していjwtます。1 つの API 操作 POSTは、指定された aおよび aを/user/token返し、このトークンは次のような操作のリストに使用されます。jwtusernamepassword

ルートが使用されている場所ではjwt({secret: secret.secretToken})、トークンが HTTP ヘッダーに含まれていますAuthorization

スーパーテストでテストする場合、テストをネストできますが、最初にトークンを取得してから、このトークンを使用して他の操作をテストしたいと考えています。

操作テストごとに新しいトークンを生成することを回避する方法 (以下を参照) が、POST /user/token によって生成されるトークンを 1 つだけ使用する方法。