spring - 让 @SpringBootTest 在每次测试中使用新的应用程序

标签 spring spring-boot spring-test spring-boot-test applicationcontext

有没有办法让 Spring boot 在每个 @Test 方法执行上使用全新的 ApplicationContext 并丢弃以前的应用程序上下文?

无论如何要更改default behavior重用 ApplicationContext

最佳答案

你可以在一个测试方法上加上@DirtiesContext注解,以表明运行该测试方法后的ApplicationContext是脏的,这样当它执行下一个测试方法时,它就会完全变脏。刷新 ApplicationContext :

@SpringBootTest
public class FooTest {

    @Test
    @DirtiesContext
    public void test1() {

    }

    @Test
    @DirtiesContext
    public void test2() {

    }

}

关于spring - 让 @SpringBootTest 在每次测试中使用新的应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70947646/

相关文章:

java - 如何绕过 magnolia cms 中的过滤器链?

java - 用于多个 JSON 对象模式的 Spring IntegrationFlow

java - Spring Batch 测试用例忽略 Spring 配置文件

spring-boot - 如何在 Spring Boot 中关闭 liquibase 横幅?

java - Spring MVC View / Controller 对已知良好图 block 设置的测试失败并出现断言错误

java - 什么是 Spring 的注解对应物 <context :property-override>?

java - 如何使用 JAXB 和 Spring 解码具有重复条目的 xml

java - 我可以在 JPA 中创建此查询而不使用 native 查询吗?

java - @ExceptionHandler 没有被调用测试

spring - 将 Spring bean 注入(inject) JUnit Jupiter 中的 ParameterResolver