[解決済み】mochaのデフォルトタイムアウトを変更する
質問
ユニットテストファイルmy-spec.jsをmochaで実行する場合。
mocha my-spec.js
デフォルトのタイムアウトは2000msになります。コマンドラインパラメータで部分的に上書きすることができます。
mocha my-spec.js --timeout 5000
デフォルトのタイムアウトをすべてのテストに対してグローバルに変更することは可能でしょうか? つまり、デフォルトのタイムアウトの値は、呼び出し時の2000ミリ秒とは異なるものになります。
mocha my-spec.js
解決方法は?
デフォルトでは、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...
});
これは、アロー関数が
this
を、その関数が出現するスコープから取得します。Mocha は関数を呼び出す際に、良い値である
this
が、その値はarrow関数の内部では渡されません。Mocha のドキュメントによると
このトピック
:
Mocha に矢印関数 (「ラムダ」) を渡すことは推奨されません。レキシカルバインドのため、そのような関数は Mocha のコンテキストにアクセスできません。
関連
-
[解決済み】フォームコントロールの値アクセサがない
-
[解決済み】Uncaught TypeError: nullのプロパティ'value'を読み取ることができない
-
[解決済み】Javascript、[オブジェクトHTMLInputElement]を表示中。]
-
[解決済み] jQueryでチェックボックスに "checked "を設定する
-
[解決済み] JavaScriptのオブジェクトが空であることをテストするにはどうすればよいですか?
-
[解決済み] JavaScriptで空文字列/未定義文字列/null文字列をチェックするにはどうすればよいですか?
-
[解決済み] JavaScriptで要素のクラスを変更するにはどうすればよいですか?
-
[解決済み] jQueryの「exists」関数はありますか?
-
[解決済み】JavaScriptの関数にデフォルトのパラメータ値を設定する
-
[解決済み】典型的なテストディレクトリ構造でunittestを実行する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Uncaught ReferenceError: angular is not defined - AngularJSが動作しない。
-
[解決済み】SecurityError: オリジンを持つフレームがクロスオリジンフレームにアクセスするのをブロックした
-
[解決済み] エラー。モジュールhtmlが見つからない
-
[解決済み】npm install --legacy-peer-deps は具体的に何をするのですか?どんなときに推奨されるのか/どんな使用例が考えられるのか?
-
[解決済み】リソースはドキュメントと解釈されるが、MIMEタイプはapplication/zipで転送される
-
[解決済み】Vueのテンプレートまたはレンダー関数が定義されていない 私はどちらも使っていないのですが?
-
[解決済み】Babel NodeJS ES6: SyntaxError: 予期しないトークンのエクスポート
-
[解決済み】TypeError: AngularJSで未定義のプロパティ'get'を読み取れない
-
[解決済み】JavaScriptで関数が存在するかどうかを確認する方法は?
-
[解決済み】module.exports "モジュールが定義されていません"