私はjavascript/nodejsを使い慣れていて、mocha/nodejsを使って4mbの範囲内でペイロードをテストする必要があります。ペイロードをシミュレートするために長さ〜4mbの文字列を生成し、ペイロードとしての要求しかし、私はタイムアウト例外Error: Timeout of 2000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves.
を取得しています。これはおそらく、このアプローチはリクエスト生成自体が長すぎるため有効ではないからです...私は待ち時間を増やそうと試みましたが無駄でした。javascriptでリクエストの実行時にペイロードを生成するには?
it('expected: handle request made with payload exceeding REQUEST_LIMIT of 4mb', (done) => {
chai.request(server).post('/payload').send({ data: payload(4520000) }) // payload exceeds RATE_LIMIT of 4mb
.set('content-type', 'plain/text')
.end((error, response) => {
expect(response).to.have.status(500);
// return expect(response).to.eventually.have.status(500);
done();
});
});
私はチャイ-約束通りを-もを使用している、それは私のために動作しませんでした。注:
return expect(response).to.eventually.have.status(500);
'npm install'がタイムアウトに何か変わることはありません。 'mocha ./tests/ -t 3000'をハードコードし、' npm run ... '(または' npm test')を使うのを忘れた 'package.json'の' test''スクリプトをどのように設定するのか分かりました。問題になるだろう。また、それが私の場合は、タイムアウトが必要なスイート全体が本当にない限り、スイート全体ではなく、ローカルのみでタイムアウトを増やしたいと考えています。 – Louis
あなたはそうです、テストケース固有のものでなければなりません。私はフィードバック、感謝の答えを更新しました! –