【问题标题】:Error: Timeout - Async callback was not invoked within 5000ms (set by jasmine.DEFAULT_TIMEOUT_INTERVAL)错误:超时 - 5000 毫秒内未调用异步回调(由 jasmine.DEFAULT_TIMEOUT_INTERVAL 设置)
【发布时间】:2020-01-15 07:13:47
【问题描述】:

我正在使用 jasmine 来测试我的异步函数。我收到以下错误。

错误:超时 - 在 5000 毫秒内未调用异步回调(由 jasmine.DEFAULT_TIMEOUT_INTERVAL)

我尝试打印从我的函数解析的数据。它正在控制台上打印,之后我遇到了错误。

funtion test(){
    return new Promise(funtion(resolve,reject){
        resolve({id:1})
    })
}

describe("test function",funtion(){
    it("testing",test().then(function(data,err){
        console.log("resolved Data = ",data)
        expect(data).toEqual({id:1}))
    }))
})

以上功能不是我的确切功能。这只是一个例子。 我在 CMD 中获取数据的价值,然后我得到了

错误:超时 - 在 5000 毫秒内未调用异步回调(由 jasmine.DEFAULT_TIMEOUT_INTERVAL)

如果我的数据已经解析,那么为什么会出现此错误?

【问题讨论】:

    标签: javascript asynchronous jasmine


    【解决方案1】:

    问题是你需要确保测试是按照茉莉标准完成的。最简单的方法是使用done 参数。应该是这样的:

    describe("test function",funtion(){
        it("testing",done => {
            test().then(function(data,err){
                console.log("resolved Data = ",data)
                expect(data).toEqual({id:1}))
                done();
            }))
        })
    })
    

    您只需要确保在测试完成时调用done()

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-13
      • 2020-11-12
      • 2019-03-11
      • 2021-05-13
      • 1970-01-01
      • 2018-09-18
      • 2018-09-11
      相关资源
      最近更新 更多