Javascript 如何忽略。在伊斯坦布尔的代码覆盖中抓住承诺?

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,因为它总是通过,而且我似乎

我使用的是BluebirdJS promise库,我有
.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 */ {

}