2016-10-14 42 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

通过清除我的数据库自己修复它。但是,我不知道这个原因。