2017-02-06 2 views
0

私はExpress.jsコントローラをテストしようとしていますが、たぶん私はmochaのタイムアウトで問題を起こしています。約束を返すときにモカが2000msのタイムアウトを超える

ドキュメント(https://mochajs.org/#working-with-promises)と回答はこちら:https://stackoverflow.com/a/26572442/1646372私が使用している約束を返すことができます。

私はPromisesでエクスプレスコントローラをラップしていますので、テストで返すことができます。

私は一貫して、エラーメッセージを取得するために実行できる基本的なテストを持っている:

it('should return',() => { 
    return new Promise(resolve => { 
    setTimeout(() => { 
     resolve('hello'); 
    }, 2300); 
    }); 
}); 

私は取得していますエラーは次のとおりです。

Error: Timeout of 2000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. 

なぜエラー、私は理解していません私は解決する約束を返すように存在します。

答えて

1

コマンドラインでこのフラグ--timeout 5000を使用してタイムアウトを設定することができます。または、関数内でdescribe文の下のテストthis.timeout(5000);の最初の行に追加することができます。

+0

2300のタイムアウトを作成すると、デフォルトの2000時間を超えることは正常です。 – jesusgn90

+0

申し訳ありませんが、モカタイムアウトが最後のカーテンクローズであることをクリックしました。あなたが約束を返せば、タイムアウトがキャンセルされ、あなたが望む時間が許されると私は考えていました。そして今私はそれについて考える、それは非常に危険です – silverlight513

+0

ハハは友人を気にしないでください! – jesusgn90

関連する問題