第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

es6使用mocha測試的問題

es6使用mocha測試的問題

繁星淼淼 2018-08-10 09:10:52
1.最近開始學(xué)習(xí)es6,但是做promise單元測試的時(shí)候出現(xiàn)了問題2.問題如下:      進(jìn)行promise.all測試的時(shí)候出現(xiàn)了錯(cuò)誤       **debug.html:38 Error: timeout of 6000ms exceeded. Ensure the done() callback is being called in this test.**       普通promise使用不會(huì)出現(xiàn)這個(gè)錯(cuò)誤.3.網(wǎng)上找了一些,并沒有想要的答案,不知道在這里能否找到答案代碼如下 1:) PromiseObject.js 中的某一段2): BaseSyntax.spec.js 測試代碼中的某一段目前狀況就是這樣,如果在 expect(data).to.deep.equal([1,2,3]); 這一地改為 [1,3,2]的時(shí)候 也就是說結(jié)果出錯(cuò) ,則會(huì)提示timeout ,結(jié)果正常的話,則提示測試成功。補(bǔ)充:經(jīng)過剛才的調(diào)試與猜想在@leftstick說的方式中 加入了 catch(error=>{done(error)}) 這個(gè)時(shí)候報(bào)錯(cuò),上一級(jí)捕獲這個(gè)異常提示測試失敗。猜測except中的異常被catch捕獲,然后沒有對(duì)異常做相應(yīng)的處理,并且沒有冒泡到上一級(jí),導(dǎo)致測試通過。
查看完整描述

1 回答

?
慕俠2389804

TA貢獻(xiàn)1719條經(jīng)驗(yàn) 獲得超6個(gè)贊

看錯(cuò)誤就是因?yàn)槟銢]有調(diào)用done方法,導(dǎo)致超時(shí)了。

上代碼吧,不然不好說,你這么問有些籠統(tǒng)了

補(bǔ)充 + 修正:

明白了,你的意思是,expect(data).to.deep.equal([1,2,3]);的時(shí)候一切正常,但expect(data).to.deep.equal([1,3,2]);時(shí),本來應(yīng)該報(bào)結(jié)果錯(cuò)誤,但卻超時(shí)了,對(duì)吧?

應(yīng)該這么寫:

describe('ES6 PromiseObject Test', function() {    let promiseObject = new PromiseObject(),
        utils = new Utils();    this.timeout(6000);
    it('測試Promise.all', function(done) {        let promiseAll = promiseObject.testPromiseAll();        this.timeout(6000); //根據(jù)谷個(gè)搜索出來的解決方案 并不奏效
        return promiseAll.then(data => {
                expect(data).to.deep.equal([1, 3, 2]);
                done();//這里和setTimeout沒有半毛錢關(guān)系,剛才忘了刪掉了
             })
             .catch(done);
    });
})


查看完整回答
反對(duì) 回復(fù) 2018-09-23
  • 1 回答
  • 0 關(guān)注
  • 863 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)