問題タブ [frisby.js]
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.
json - REST API テスト: HTTP Post は Frisby.js で 500 を返します
私は Frisby.js を使用して、JSON データを含む POST 要求を送信し、JSON 応答をテストしています。ただし、クエリは HTTP ステータス 500 を返します。同じ POST リクエストが、コマンド ラインの CURL と Postman で正常に機能します。何が問題なのですか?
CURL リクエスト: curl -H "Content-Type: application/json; charset=UTF-8" -X POST -d " json_data " url
FRISBY テスト:
フリスビーでの出力:
リンク先 URL がダウンしているか、URL が無効である可能性があります。エラー: ETIMEDOUT F
失敗:
1) フリスビー テスト: リクエストを送信 [ POST url ]
メッセージ: 500 は 200 に等しいと予想されます。
スタックトレース:
5.032 秒で終了 1 テスト、1 アサーション、1 失敗、0 スキップ
javascript - より多くの「期待」関数でfrisby.jsを拡張するには?
Frisby.js モジュールをカスタムexpect
メソッドで拡張する方法はありますか? ソース コードを変更したくありません。これらの拡張機能は REST API に固有のものです。私の目標は、共通のテストを 1 つのメソッドにまとめることで、繰り返さないようにすることです。
問題は、Frisby.js モジュールが次のコードでメソッドをエクスポートしていることです。
Frisby に新しいメソッドを追加するにはどうすればよいですか? これは、Node.js モジュールに適用されるため、Javascript の継承に関する質問です。
たとえば、StackExchange APIをテストするスクリプトには、 andなどの多くの重複.expect
句が.expectHeader()
あり.expectJSONTypes()
ます。.expectSEwrapper()
これらをメソッドにまとめたいと思います。このメソッドは StackExchange API に固有のものであるため、Frisby.js には属しません。スクリプトは次のようになります。
スクリプトを次のようにしたいと思います。
これは、次のような新しいメソッドを追加することを意味します。
しかし、スクリプト内から Frisby プロトタイプに追加するにはどうすればよいでしょうか?
javascript - frisby.js または jasmine-node を使用した証明書の有効期限のテスト
証明書のステータスをチェックする frisby.js を使用してテストケースを作成しようとしています。テストは、証明書の有効期限が切れる n 日前に失敗する必要があります。n は次のように定義されています。
私はこのコードでそれを試しました:
問題は、expect が jasmine-node テストランナーによって検証されないことです。このコードを実行すると
結果は次のようになります。
だから主張
実行されていません。これは、nodejs がコードを非同期で実行するため、アサーションが実行される前にテストが終了するためだと思います。
このアサーションを強制的に実行してテスト結果を得る方法を知っている人はいますか?
ありがとう、ジョー
jasmine - TravisCI はテストが失敗しても合格、Jasmine + Frisby のテストで Gulp をセットアップ
プラグインを使用しgulp-jasmine-node
て Jasmine/Frisby.js テストを次のように実行しています。
ローカルで実行gulp test
すると、次のようになります (スニペットのみ):
私の .travis.yml:
Travis での対応する生の CI 出力 (最後のスニペットのみ):
失敗してもビルドが成功する理由がわかりません。使用するテスト ツールに応じて、gulp を使用するときに Travis に特定の構成がありますか? プロセスがコード 0 で終了したことが原因でしょうか。その場合、失敗時にプロセスを終了するように gulp コマンドを変更する必要がありますか (ランナーの他のタスクを中断するので理想的ではありません)。
この問題または同一のセットアップが事前に対処されているようには見えません。助けてください!また、これは私の最初のスタック オーバーフロー Q であるため、必要なすべての情報を提供できれば幸いです。ありがとう :)
javascript - frisbyで特定のテストを実行するには?
私たちは frisby を使用して統合テストを実行しています。それらを開発している間、すべてのテストを実行して余分なノイズを確認することなく、1 つの特定のテストまたはテストのグループを実行すると便利です。現在、実行したくないものをすべてコメントアウトしていますが、これは面倒です。
コマンドラインから特定のフリスビーテストを実行する方法はありますか?
基本的に、代わりに
言えるようになりたい
またはそのようなもの。ジャスミンのみに関するこの投稿を見つけましたが、それが私のニーズを満たすかどうかはわかりません.
本当にありがとう!
node.js - Frisby.js リクエストを出力して表示することはできますか?
私は frisby.js を使い始めており、Jasmine と node.js も初めてです。
最初のいくつかのフリスビー テストに出くわした後、テストを実行するたびに正しい要求ヘッダーと要求本文などがあることを検証できるように、テストの要求をコンソールに出力できるかどうかを知りたいと思いました。と
--junitreport オプションを使用してテストを実行するときに、リクエストもレポートに含まれる場合、これは役立つと思います
--verbose を使用してテストを実行すると、これが提供されることを最初は望んでいましたが、 --verbose はリクエスト メソッドと最上位テストの URL のみを出力するようで、after() または afterJSON() を使用してその下にネストされたテストは出力されません。これも残念です!
私は周りを検索してみましたが、この簡単な質問に対する答えが見つかりませんでした。
javascript - Frisby.js テストを取得して同期的に実行する
最初に実行する必要があるこれらの API 呼び出しがテストに含まれているため、後で使用するために応答を変数に保存できます。しかし、テストが非同期で実行されているように見えるため、変数が設定される前に 2 番目のテストが終了します。テストを同期的に実行するにはどうすればよいですか?
before
1 つの方法は、コールバックを使用して渡すことだと聞きましたdone
。しかし、私はそれを行う方法がわかりませんjasmine-node
。
テストの例:
編集:
だから私はこのようにテストを行ってみましたが、done()
コールバックが呼び出されないようです。(テストタイムアウト)
rest - frisby: 応答データの抽出と条件付き実行
私はいくつかのテストや自動化を行うためにフリスビーを使用しようとしています。
次々に実行する必要がある 2 つの要求があるとします。ただし、最初のリクエストはリソースを作成し、ヘッダーでその URI を返します。
したがって、2 番目の呼び出しが行われる方法は、最初の呼び出しの応答ヘッダーによって異なります。afterJSON()
有望に見えますが、ヘッダーを処理していないようです。ドキュメントは非常に短いようで、これについては言及していません。何をすべきか?
node.js - 分度器+ジャスミンを使用したAPIテスト
ジャスミンで分度器を使用して API テストを行う人はいますか。これを検索していると、frisby.js を使用して API テストを実行できることがわかりました。しかし、分度器またはジャスミンがAPIテスト用の機能を直接サポート/提供するかどうかは疑問です。誰かがこれを試しましたか?もしそうなら、私が従う必要があるアプローチは何ですか?
前もって感謝します。