Javascript 如何忽略。在伊斯坦布尔的代码覆盖中抓住承诺?
我使用的是BluebirdJS promise库,我有Javascript 如何忽略。在伊斯坦布尔的代码覆盖中抓住承诺?,javascript,promise,code-coverage,istanbul,Javascript,Promise,Code Coverage,Istanbul,我使用的是BluebirdJS promise库,我有.catch,我不能模仿它,这就是为什么我不能用伊斯坦布尔的代码覆盖率来覆盖它 .then(() => ....) /* istanbul ignore next */ -> Does not work .catch((err) => err) /// I want to ignore this 有人知道伊斯坦布尔图书馆是否能做到这一点吗 谢谢 编辑:这是完整的代码,我的测试无法到达.catch,因为它总是通过,而且我似乎
.catch
,我不能模仿它,这就是为什么我不能用伊斯坦布尔的代码覆盖率来覆盖它
.then(() => ....)
/* istanbul ignore next */ -> Does not work
.catch((err) => err) /// I want to ignore this
有人知道伊斯坦布尔图书馆是否能做到这一点吗
谢谢
编辑:这是完整的代码,我的测试无法到达.catch
,因为它总是通过,而且我似乎无法以其他方式强制mongoose抛出错误
const { payload } = request
const group = new LocationGroups(payload)
group.save()
.then(reply)
.catch((error) => reply(boomify(error)))
就你而言
group.save()
.then(reply)
.catch( /* istanbul ignore next */(error) => reply(boomify(error)))
或者,你可以把你的渔获物包在另一块
try {
stuff()
} catch (err) {
/* istanbul ignore next */ {
console.error(err)
throw err
}
}
试着让它可测试?为什么你认为你不能嘲笑它?把评论放在应该被忽略的回调中怎么样?@Bergi请看我的编辑。我不知道如何强制mongoose在
中强制出错。save
@Bergi将注释放在里面不会起作用,因为我无法访问它。顺便说一句,谢谢你的评论:)你不能强迫mongoose做任何事情,但是你可以模拟保存?你使用什么库进行测试?
try {
} catch (err) /* istanbul ignore next */ {
}