隐藏负面JUnit测试的预期错误

m528fe3b  于 2022-11-11  发布在  其他
关注(0)|答案(1)|浏览(95)

我有一个JUnit测试,它测试的是否定用例:

@Test
public void campaignTest() {

    Long campaignId = givenANotFoundCampaign();

    try {
        BonusSystemCampaign byId = bonusSystemCampaignService.getBonusSystemCampaign(campaignId, BonusSystemCampaign.class);

        assertNull(byId);
    } catch (Exception e){
        // e.printStackTrace();
    }
}

当我执行它时,我得到错误:
java.io.FileNotFoundException:在java.base/jdk.内部.反映中的本机构造器访问器实现.新示例0(本机方法)在java.base/jdk.内部.反映中的本机构造器访问器实现.新示例(本机方法)在java.base/jdk.内部.反映中的本机构造器访问器实现.新示例(本机构造器访问器实现. java:77)在java.base/jdk.内部.反映中的委托构造器访问器实现.新示例(委托构造器访问器实现. java:45)
这个错误是正确的,但我想隐藏错误堆栈。我如何实现这个?

xt0899hw

xt0899hw1#

如果您的目的是检查此用例是否按预期引发异常,可以尝试以下操作:

  • 如果使用JUnit4,则添加以下注解:@Test(expected = FileNotFoundException.class) .

这意味着你希望这个概念能通过测试

  • 如果使用JUnit5

如果您的进程没有发现异常,那么您的进程就不会发现异常。
通过这种方式,您可以操纵如何处理FileNotFoundException类型的变量

相关问题