2016-10-14 45 views
1

我創建了一些我的摩卡測試用例來使用supertest來使用服務器API。'雙重回撥!'摩卡超級錯誤

所有的測試案例幾乎相同,即。他們使用supertest火API請求,並檢查像這樣的迴應:

describe('GET /my/api/',() => { 
    before(done => { 
     request(myServer) 
      .post('/some/path/') 
      .send(testData) 
      .set('Accept', 'application/json') 
      .expect('Content-type', /json/) 
      .expect(200) 
      .end((err, res) => { 
       currentData = res.data; 
       done(); 
      }); 
    }); 

    it('really works', done => { 
     request(myServer) 
      .get(`/some/path/`) 
      .set('x-access-token', currentData) 
      .set('Accept', 'application/json') 
      .expect('Content-type', /json/) 
      .expect(200) 
      .end((err, res) => { 
       expect(res.data).to.equal(...); 
       done(); 
      }); 
    }); 
}); 

事情真的運行平穩,直到最近,當我神祕地開始塊之前獲得的每一個這種奇怪的錯誤,它塊,像所以:

GET /my/api/ 
    1) "before all" hook 

double callback! 

一些基本的搜索引我here,但我無法找到有什麼解決辦法。

任何解釋?

+0

您使用的是哪個版本的'supertest'?另外,你的測試應該真的檢查'錯誤',否則他們可能會通過,而期望失敗。 – robertklep

+0

@robertklep^v2.0.0 –

+0

@robertklep解決了它。謝謝 –

回答

0

通過清除我的數據庫自己修復它。但是,我不知道這個原因。