我有一段我正在Chai和Pact中測試的代碼片段。它看起來是這樣的:我可以讓柴的expect.to.not.throw同步嗎?
var myVerify =() => {
provider.verify().then(() => {
console.log('B verified')
done()
})
}
expect(myVerify).to.not.throw()
這工作,但它的很多額外的工作經歷,使包裝的功能,以確保我等候條約的驗證完整的持續與試驗前。協議有一些內部狀態,完成後會清除。如果我只是把這個:
預期(provider.verify())to.not.throw()
那麼它將與其他測試衝突。
這段代碼似乎對我很好,但它非常混亂。它有一個更簡單的方法來完成這個?
甚至更簡潔:'返回provider.verify(),然後(做,()=>拋出新的錯誤(「B驗證失敗」 ));' 但是,'承諾'是要走的路。 –
@MatthewFellows我不能推薦你的方法,因爲如果驗證函數返回一些東西(我認爲它),它會調用'done',這個摩卡將會把它解釋爲一個錯誤信息,這將會使測試失敗。 –
除了空洞的成功承諾之外,它不應該返回任何東西。 –