JUnit 的 @Ignore 和 @Disabled 注释有什么好处?

kc2*_*001 3 junit

@Disabled@Ignore注释添加到 JUnit 测试有什么好处,例如:

  @Test
  @Disabled
  void testSomething() { /* ... */ }
Run Code Online (Sandbox Code Playgroud)

而不是仅仅删除@Test注释?

  void testSomething() { /* ... */ }
Run Code Online (Sandbox Code Playgroud)

无论哪种方式,都不应执行测试。

eme*_*sso 8

这些注释的用途主要是在文档/报告中。当您运行 JUnit 套件时,您会得到一份结果报告。@Ignored/@Disabled测试将在该报告中标记为(带有可选注释)。

这使您可以跟踪有多少测试被忽略/禁用。您可以围绕此设置策略(即,如果测试@Ignored持续一个月,则将其删除)或在测试过多时使 CI 系统失败@Ignored。您可以制作图表,显示随着时间的推移通过/失败/跳过的趋势。

真的,这一切都取决于您希望如何跟踪测试套件的演变,以及您是否希望看到“跳过”的测试部分,或者当测试暂时中断时测试的总数/不再有用。


Nit*_*sht 5

@Disabled@Ignore注释可用于禁用或忽略测试套件中的测试方法。

@Disabled在junit5中引入。它仅接受一个可选参数,该参数指示禁用此测试的原因。例子 :

@Disabled("Do not run in a lower environment")
Run Code Online (Sandbox Code Playgroud)

@Disabled添加or的优点@Ignore

  1. 可搜索性:您可以轻松识别源代码中的所有注释@Ignore@Disabled注释,而未注释或注释掉的测试则不那么容易找到。

  2. 可维护:后期维护或修改方便。使用注释始终是一个好习惯。