Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Junit 如何在springboot中的每个测试类之后销毁和重新创建bean_Junit_Spring Boot_Spring Test - Fatal编程技术网

Junit 如何在springboot中的每个测试类之后销毁和重新创建bean

Junit 如何在springboot中的每个测试类之后销毁和重新创建bean,junit,spring-boot,spring-test,Junit,Spring Boot,Spring Test,我有一个应用程序,我在其中创建了一个bean,它调度配置中定义的任务,但在测试中,我希望在每个测试类之前创建一个bean,并在每个类之后销毁它 我需要它,因为我更新每个类中的属性,例如: @TestPropertySource(properties = ["my.property=valueForTest"]) 在JUnit/Spring中有可能吗?我知道唯一的选择是通过@DirtiesContext丢弃整个上下文。这显然也会丢弃您的bean。@DirtiesContext在这种情况下应该没问

我有一个应用程序,我在其中创建了一个bean,它调度配置中定义的任务,但在测试中,我希望在每个测试类之前创建一个bean,并在每个类之后销毁它

我需要它,因为我更新每个类中的属性,例如:

@TestPropertySource(properties = ["my.property=valueForTest"])

在JUnit/Spring中有可能吗?

我知道唯一的选择是通过
@DirtiesContext
丢弃整个上下文。这显然也会丢弃您的bean。

@DirtiesContext
在这种情况下应该没问题,因为原始海报正在为每个测试类创建一个全新的
ApplicationContext
(由于使用了
@TestPropertySource
).尽管我必须指出,为每个测试类创建一个新的
ApplicationContext
,实际上通常是最糟糕的做法。