デフォルトでは、Mochaはtest/mocha.opts
コマンドライン引数を含むことができるという名前のファイルを読み取ります。したがって、次のようなファイルを作成できます。
--timeout 5000
コマンドラインでMochaを実行すると、このファイルが読み込まれ、デフォルトで5秒のタイムアウトが設定されます。
あなたの状況に応じてより良いかもしれない別の方法describe
は、テストファイルのトップレベルの呼び出しでこのように設定することです:
describe("something", function () {
this.timeout(5000);
// tests...
});
これにより、ファイルごとにのみタイムアウトを設定できます。
グローバルなデフォルトを5000にしたいが、一部のファイルには別のものを設定する場合は、両方の方法を使用できます。
あなたが電話をかけるthis.timeout
(またはthis
あなたのためにそのモカセットの他のメンバーにアクセスする)なら、一般的に矢印関数を使うことができないことに注意してください。たとえば、これは通常は機能しません。
describe("something", () => {
this.timeout(5000); //will not work
// tests...
});
これは、arrow関数がthis
関数が出現するスコープから取得するためです。Mochaは適切な値で関数を呼び出しますがthis
、その値はarrow関数内に渡されません。Mochaのドキュメントはこのトピックについて述べています:
矢印関数(「ラムダ」)をMochaに渡すことはお勧めしません。これの字句バインディングのため、そのような関数はMochaコンテキストにアクセスできません。