如何忽略 Jest 测试覆盖率中承诺的 catch 子句?
How to ignore the catch clause of a promise in Jest test coverage?
在我的单元测试中,我有一个案例,我从浏览器 API (IndexedDB) 获得了承诺,并添加了一个 catch 子句来处理任何错误情况。出于明显的原因,我无法触发我的测试失败的承诺。毕竟这是浏览器内部的。
这就是为什么我想忽略代码覆盖的 catch 子句。我该怎么做?
注意:对于 try/catch 块,可以像这样编写伊斯坦布尔忽略提示:
try {
...
} catch(reason) /* istanbul ignore next */ {
...
}
另见 https://github.com/istanbuljs/istanbuljs/issues/559。
然而,这不适用于承诺。
添加忽略提示的地方就在catch子句中的闭包之前:
Promise.all([promise1, promise2]).then(() => {
...
}).catch(/* istanbul ignore next */(reason) => {
...
});
在我的单元测试中,我有一个案例,我从浏览器 API (IndexedDB) 获得了承诺,并添加了一个 catch 子句来处理任何错误情况。出于明显的原因,我无法触发我的测试失败的承诺。毕竟这是浏览器内部的。
这就是为什么我想忽略代码覆盖的 catch 子句。我该怎么做?
注意:对于 try/catch 块,可以像这样编写伊斯坦布尔忽略提示:
try {
...
} catch(reason) /* istanbul ignore next */ {
...
}
另见 https://github.com/istanbuljs/istanbuljs/issues/559。
然而,这不适用于承诺。
添加忽略提示的地方就在catch子句中的闭包之前:
Promise.all([promise1, promise2]).then(() => {
...
}).catch(/* istanbul ignore next */(reason) => {
...
});