mocha测试中的Javascript同步与wd同步

mocha测试中的Javascript同步与wd同步,javascript,synchronization,mocha.js,resemblejs,Javascript,Synchronization,Mocha.js,Resemblejs,你能帮我解决摩卡测试中的同步问题吗 我在摩卡有这个测试,我用的是咖啡和包装 wd sync用于避免承诺和回调地狱,它是一个很棒的包,但我发现它有一些问题。它不需要等待,所以这部分是在测试用例之外执行的。我试着给承诺加上类似的东西,但没有成功,所以现在我没有主意了 这是我在摩卡的日志——如你所见,控制台.log(内部)是在测试用例中执行的PROMISE\u 002,测试通过,但应该失败在所有钩子失败后,因为在此步骤中执行了预期的 Screenshot functionality 1 2 3 4

你能帮我解决摩卡测试中的同步问题吗

我在摩卡有这个测试,我用的是咖啡和包装

wd sync用于避免承诺和回调地狱,它是一个很棒的包,但我发现它有一些问题。它不需要等待,所以这部分是在测试用例之外执行的。我试着给承诺加上类似的东西,但没有成功,所以现在我没有主意了

这是我在摩卡的日志——如你所见,
控制台.log(内部)
是在测试用例中执行的
PROMISE\u 002
,测试通过,但应该失败<代码>在所有钩子失败后,因为在此步骤中执行了
预期的

  Screenshot functionality
1
2
3
4
    ✓ PROMISE_002 (3714ms)
inside
inside2
    1) "after all" hook


  1 passing (16s)
  1 failing

  1) Screenshot functionality "after all" hook:
     Uncaught AssertionError: expected '0.01' to equal 5
我的测试:

it.only('PROMISE_002', wrap(function(){
    const date = new Date();
    const path = `${date.getFullYear()}${date.getMonth()}${date.getDate()}`;
    const dir = `archiveServer/${path}`;

    if (!fs.existsSync(dir)) {
        fs.mkdirSync(dir);
    }

    console.log(1);
    driver.saveScreenshot(`archiveServer/baseline/PROMISE_002.png`);
    console.log(2);
    driver.saveScreenshot(`${dir}/PROMISE_002.png`);
    console.log(3);

    resemble(`${dir}/PROMISE_002.png`)
        .compareTo('archiveServer/baseline/PROMISE_002.png')
        .onComplete(function (data) {
            //if (data.misMatchPercentage > 0.5) {
            console.log('inside');
            data.getDiffImage()
                .pack()
                .pipe(fs.createWriteStream(`${dir}/PROMISE_002-diff.png`));
            console.log('inside2');
            expect(data.misMatchPercentage).to.equal(5);
        });

    console.log('4');
}));