我有一个 JUnit 4 测试,它检查我正在测试的代码是否引发了异常。测试如下:
@Test(expected = AmqpRejectAndDontRequeueException.class)
public void getChannelKeysThrowsAmqpRejectAndDontRequeueExceptionIfProcessIdIsMissing() {
processNameBasedRouter.getChannelKeys(new GenericMessage<Object>(new Machine()));
}
在 SonarQube 中提出了一个问题,因为没有涵盖分支。在我看来,这个分支被覆盖了,如果我在 IntelliJ 中运行测试,我会得到 100% 的覆盖率。我认为这是因为 JUnit4 中的预期异常检查,还是有其他原因?