JUnit @Before和@After在每次测试之前和之后执行

Kin*_*ere 5 java junit unit-testing junit4 spring-boot

我正在运行测试Spring Boot应用程序的JUnit测试.我有一个@Before方法和@After一个.然后我有一堆@Test方法,它们是实际的测试.

但是,我@Before@After方法分别在每次测试之前和之后执行,而不是在所有测试之前执行一次,并且在所有测试之后执行一次.

难道我也在使用这个注释吗?

@FixMethodOrder(MethodSorters.NAME_ASCENDING)
Run Code Online (Sandbox Code Playgroud)

Tun*_*aki 21

这是正常的行为@Before@After.引用文档@Before,例如:

注释公共void方法@Before会导致该方法在Test方法之前运行.

如果您只想在所有测试之前和之后运行一次方法,则可以使用@BeforeClass@AfterClass.引用文档@BeforeClass例如:

注释public static void no-arg方法@BeforeClass会导致它在类中的任何测试方法之前运行一次.