如果摩卡测试的时间比给定时间短,我怎么能不通过?

时间:2018-10-01 21:46:53

标签: javascript node.js mocha chai

我要测试的场景:我要确保不缓存文件,因此,通常需要10秒钟以上的过程才能执行并完成。

如果要花费不到10秒的时间才能完成摩卡测试,我会失败。我已经在stackoverflow上签出了文档和其他问题。我该怎么做?

谢谢!

编辑:这种测试模式可能并不理想-我只是对这个特定问题的结果感到好奇。

1 个答案:

答案 0 :(得分:1)

您可以花一些时间在任务之前以及完成之前,然后断言与您想要的>=有所不同。像这样:

function doSomethingSlow(time){
    // wait time and resolve
    return new Promise(resolve => setTimeout(resolve, time))
}

// failed
let start = new Date
doSomethingSlow(2000).then(() => {
    let finish = new Date
    // assert(finish - start > 5000)
    console.log("did it take longer than 5 seconds: ", finish - start > 5000)
    })

此外,请注意,摩卡咖啡对测试施加了时间限制。请参见here进行更改,但要了解存在限制,因为长时间运行的测试通常会被忽略。通过取消网络/文件访问,您通常可以使测试既有效又快速。