对Promise结果运行多个测试 - Mocha

时间:2017-02-17 07:14:05

标签: node.js unit-testing promise mocha chai

我想对从promise调用获得的结果进行一系列测试。我知道它可以做到:

it ('should pass test foo1', () => {
  return promisecall()
    .then(result => {
      expect(result.length).to.equal(42)
      expect(some other test on data)
      expect(some other test on data)
                .
                .
    })
})

根据我的理解,这样做是: 运行单个测试(即应该通过测试foo1),只有在所有预期条件都为真时才会通过,并且这些期望部分不会显示在输出屏幕中。

如何在单个promise结果的结果上添加多个'it'/ unit测试,以便不同的测试用例实际显示在输出中?

1 个答案:

答案 0 :(得分:5)

您应该能够在describe()中将它们组合在一起并在before()中运行承诺:

describe('things with promises', () => {
    var promiseResult;

    before(() => promiseCall().then(result => promiseResult = result));

    it ('should pass test foo1', () => expect(promiseResult.length).to.equal(42));

    it ('should pass test foo2', () => expect(some other test));

    // ...
});