slontが2017年4月9日に投稿(2017年4月9日更新)

vue-cliを使うと自動でテストに入ってくるKarma, Mochaですが、PromiseのUnitテストの際にタイトルのエラーがかなりの頻度で出ます。
Timeout of 2000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves.

外部APIを叩いたりすると、普通にタイムアウトします。そこで、以下のように設定することで回避できます。

it('should success fetch', function() {  
  // ここでset timeout
  this.timeout(10000)
  // promiseをリターン
  return promise.then(res => {
    expect(res.hoge).to.equal(true)
  })
})



テストが多くなっていちいち設定を書くのが面倒になったら、以下に共通設定を書くことができます。

config.set({  
  ...
  client: {
    mocha: {
      timeout: 10000
    }
  }
})



結構探し回ったので、参考になれば幸いです。

↑気に入ったらシェアしてね↑
プロフィール
slont

slont

元金融エンジニア。メイン言語はJava, HTML, JavaScript, Python, Kotlinあたり。SECCONやCTF、NLP、機械学習に興味あり。金融日記購読4年。巷で話題の変態紳士。美女ソムリエ始めてました。 お仕事の依頼はTwitterからお願いします。

comments powered by Disqus
Back to top