我可以从 JUnit5 中的 @BeforeEach 中排除单个测试吗?

Can I exclude an individual test from @BeforeEach in JUnit5?

是否可以从 JUnit5 中的 @BeforeEach 中排除单个测试?

请指导我。

谢谢

您可以使用 TestInfo 并通过检查测试名称来编写此条件:

@BeforeEach 
void init(TestInfo info) {
  if (info.getDisplayName().equals("mySpecialTestName") {
    return; // skip @BeforeEach in mySpecialTestName test
  }
}

但将不需要 @BeforeEach 的测试移动到单独的 class.

会更干净

您可以将需要 before-each 行为的测试移动到内部“@Nested”子类中,并将 before-each 方法放在那里。