SuperTestではなくタイムアウトを設定します -- node.js フィールド と mocha.js フィールド と supertest フィールド 関連 問題

Setting timeouts with supertest not working












4
vote

問題

日本語

私はサーバーをそのようないくつかのコードでテストしようとしています:

<事前> <コード> describe 'POST /do/some/stuff/', -> it 'should do this thing', (done) -> request app .post '/do/some/stuff/' .timeout 10000 .expect 200 .end (err, res) -> return done err if err? done()

通常、通常は数秒かかります。これは2000msのデフォルトのタイムアウトよりも長いため、 .timeout 10000 を呼び出します。しかし、これにもかかわらず、私が取得するコードを実行すると:

<事前> <コード> 1) POST /do/some/stuff/ should do this thing: Error: timeout of 2000ms exceeded

このタイムアウトを上げるために何をする必要がありますか?

英語

I'm trying to test my server with some code like so:

describe 'POST /do/some/stuff/', ->   it 'should do this thing', (done) ->     request app       .post '/do/some/stuff/'       .timeout 10000       .expect 200       .end (err, res) ->         return done err if err?         done() 

The thing that the server is doing usually takes a few seconds, which is longer than the default timeout of 2000ms, so I call .timeout 10000. However, despite this, when I run the code I get:

1) POST /do/some/stuff/ should do this thing:    Error: timeout of 2000ms exceeded 

What do I need to do to increase this timeout?

</div
        

回答リスト

10
 
vote
vote
ベストアンサー
 

bus_id8 オブジェクトのタイムアウトを変更しても、Mochaのデフォルトのタイムアウトには何も変更しません。 <コード> bus_id9 (CoffeeScriptと同等のものが何であれ、あらゆるCoffeeScriptが何であれものは何でも)それの世話をする必要があります。

 

Changing the timeout on your request object does not change anything to Mocha's default timeout. Doing this.timeout(10000) (whatever the CoffeeScript equivalent is) inside your test should take care of that.

</div
 
 
   
   
0
 
vote

テストフレームワークを実行するときにタイムアウトを指定できます。たとえば、Mochaの場合は、 unsigned0 のようになります。あるいは、SetTimeoutでテストを追加することもできます(必要な遅延がテストの間にある場合)

 

You can specify the timeout when running your test framework. For instance for mocha it would be like mocha -t 7000 . Alternatively, you can add a test with setTimeout just to create a delay (if the required delay is in between tests).

</div
 
 

関連する質問

1  要求の配列を実行すると、「ERROR:Mone()と呼ばれる複数回」で失敗します。要求の配列をマッピングすることは、リクエストを発射していません  ( Executing array of requests fails with error done called multiple times ma ) 
私は興味深い問題に遭遇しました、私は要求の束を実行する必要があります、彼らが実行する順序は関係ありません。 私はこのコード、Mocha、Supertest(Restful Requestsを発射するために)で以下の図書館を使用しています。 だから私がしたことは...

1  アプリケーション/ VNDでのスーパーテストリクエストの空の体  ( Empty body in supertest request with application vnd ) 
スーパーテストの投稿に要求体を送信するのに多くの問題があります。私は他の質問に対する解決策を読みました、それはボディパーサーの不適切な構成を非難していますが、それらの回答はカスタムデータ型を参照しています。 (href="https://stackoverfl...

4  Expressアプリケーションをテストするときにスーパーテストの出力を取り除く方法は?  ( How to get rid of supertests output when testing express applications ) 
express.js APIを構築しています、そして、私はMochaとSupertestのテストを使っています。 しかし、これを見てください: <事前> <コード> root path GET / 200 5.789 ms - 19 ✓ retu...

3  SuperTestテストでUser-Agentヘッダーを削除することが可能ですか?  ( Possible to remove user agent header in supertest test ) 
私は、ユーザーエージェントヘッダーが値、空白、またはまったく送信されているスーパーテストテストケースを作成しようとしています。 私は私がそのヘッダーの値を設定するために使用できることを知っていますが、空白のための ''の値を設定するが、私はUser-Agen...

4  Express Responseオブジェクトでクッキーデータを取得しますか?  ( Getting cookie data on an express response object ) 
私は一部のAPIテストをしています。 それでは、リクエスト req.cookies["myCookie"] であなたがするのと同じようにこれを行うための迅速な方法はあります。 Madeは、Cookieデータを手動で解析しようとしています。 ...

4  ビューをレンダリングするエクスプレスルートをテストする方法  ( How to test express routes that render a view ) 
スーパーテストでいくつかのExpress Routesをテストしようとしています。 <事前> <コード> // Mocha test .. request(app) .get('/user') .expect(200) .en...

8  Mocha Testcasesではタイムアウトを回避する方法  ( How to avoid timeouts in mocha testcases ) 
ここで私のコードを添付しています、私は完了したコールバックを渡し、supertest for要求を使用しています。私のテストケースでアサートを使っているので、リクエスト内の私のテストケースでは、タイムアウトを心配する必要がある理由をブロックしますか?間違いはこ...

2  SuperTestのMongoose Open Connectionの問題  ( Mongoose open connection issue with supertest ) 
私は複数のSuperTest / Mochaテストを実行できません。エラーが発生しています。 / 2/02 "REL =" NOFOLLOW "> POST ループと接続ステータスの確認を提案します。より良い方法があるかどうか疑問に思う?おそらくこれを処理する...

3  SuperTestでの同期テストをどのようにしていかけることができますか  ( How can i synchronous test with supertest ) 
コード: <事前> <コード> should = require('should') request = require('supertest') request = request("stackoverflow.com"); describe "temp"...

0  基本承認を備えたスーパーテスト  ( Supertest with basic authorization ) 
スーパーテストを使用してテストを開発しようとしています。問題は私のサーバーのすべてのルートであり、基本的な許可を必要とします。各リクエストでPOSTMANを使用する場合は、[承認]タブに[ログインとパスワード]をクリックして[基本認証]を選択します。 <事前>...




© 2022 cndgn.com All Rights Reserved. Q&Aハウス 全著作権所有