对 Promise 结果运行多个测试 - Mocha
Posted
技术标签:
【中文标题】对 Promise 结果运行多个测试 - Mocha【英文标题】:Running multiple tests on Promise results - Mocha 【发布时间】:2017-07-06 14:34:30 【问题描述】:我想对从 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”/单元测试,以便不同的测试用例实际显示在输出中?
【问题讨论】:
【参考方案1】:您应该能够将它们组合在 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));
// ...
);
【讨论】:
以上是关于对 Promise 结果运行多个测试 - Mocha的主要内容,如果未能解决你的问题,请参考以下文章
将Promise.all与easyPost API一起用于多个跟踪状态请求