'double callback!' mocha 超测错误

'double callback!' error in mocha supertest

我已经创建了一些 mocha 测试用例来使用 supertest 来使用服务器 APIs。

所有测试用例几乎相同,即。他们使用 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();
            });
    });
});

事情 运行 真的很顺利,直到最近我神秘地开始为每个 before 块和它块收到这个奇怪的错误,就像这样:

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

double callback!

一些基本的搜索引导我 here,但我在那里找不到任何解决方案。

有什么解释吗?

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