【发布时间】:2017-03-17 01:38:50
【问题描述】:
考虑这个函数:
aPromise = require('axios');
function middleware(callback) {
axios.get('/api/get')
.then(callback)
.catch(callback);
}
考虑这个测试:
const callback = (err) => {
expect(isError(err)).toBe(true);
done();
};
middleware(callback);
isError 是一个 lodash 函数。
将aPromise 视为我想要测试的东西。如果 Promise 总是解决,这个测试不应该通过。但它会的!那是因为 promise 的 catch 实际上捕获了 expect 异常。
我的问题是:当expect 在promise 的then 处理程序中抛出错误时,如何不捕获promise 的catch 处理程序中的错误?
请注意,我不使用 async/await。
【问题讨论】:
标签: javascript jasmine jestjs