SpringRunner 和 BEFORE_EACH_TEST_METHOD 额外启动应用程序

SpringRunner and BEFORE_EACH_TEST_METHOD starts app additional time

当我创建 JUnit 测试时:

@RunWith(SpringRunner.class)
@SpringBootTest
@DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_EACH_TEST_METHOD)
public final class MyIT {

    @Test
    public void test() {
        ... do some tests...
    }

}

和运行测试它导致Spring启动应用程序启动2次,第二次将执行测试。 当我删除 @DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_EACH_TEST_METHOD) 时,它会正确启动应用程序一次。

如何在测试中禁用 Spring 启动应用程序的第一次毫无意义的启动?

ClassMode.AFTER_EACH_TEST_METHOD 可能适合你