我有这个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:http://localhost:12460/campaign/internal/campaigns/123 at Java . base/JDK . internal . reflect . nativeconstructoraccessorimpl . new instance 0(本机方法)at Java . base/JDK . internal . reflect . nativeconstructoraccessorimpl . new instance(nativeconstructoraccessorimpl . Java:77)at Java . base/JDK . internal . reflect . delegatingconstructoraccessorimpl . new instance(delegating
这个错误是正确的,但我想隐藏错误堆栈。我如何实现这一点?
如果您的意图是检查此用例是否按预期抛出异常,您可以尝试以下操作:
@Test(expected=FileNotFoundException.class)
这意味着你期望这个概念通过测试
>
如果使用JUnit5:
FileNotFoundException异常=assertThrows(FileNotFountException.class,()-
通过这种方式,您可以处理FileNotFoundException类型的变量
我想测试某个异常是用作为JUnit测试方法的某个部分中的异常原因抛出的。 测试方法本身不应该抛出异常--只是它的一个特定部分。
使用Broadleaf 5.2.2-GA版多租户版本 请帮助检查如何解决此错误。
问题内容: 如何在JUnit 4中将测试标记为预期的失败? 在这种情况下,我想继续运行此测试,直到上游修补了某些内容。忽略测试有点太过分了,因为我可能会忘记它。我也许可以添加注释并捕获由引发的异常,但这似乎也与预期的行为有关。 这是我当前的测试结果: 该断言应该会成功,但是由于上游错误,它不会成功。然而,这个测试是正确的。它应该成功。实际上,我发现的所有替代方案都具有误导性。现在,我认为这是我最好
如果我这样做: [更新2]:最初这只是影响我的例程,但现在我正在编写测试,我意识到它实际上无处不在,即mvn和junit5隐藏了我所有的堆栈痕迹。
这就是我的应用程序中测试的样子: 我怎样才能避免这种行为呢?
主要内容:1. 运行时异常,2. 检查异常在本教程中,我们将演示如何使用TestNG expectedExceptions来测试代码中的预期异常抛出。 创建一个名称为 ExpectedExceptionTest 的 Maven 工程,其结构如下所示 - 1. 运行时异常 此示例显示如何测试运行时异常。 如果方法抛出一个运行时异常 — ,它会获得通过。 创建一个测试文件:TestRuntime.java ,其代码如下所示 - 运行上面代码,