我正在使用Junit5
和Spring
进行测试。我希望为每个测试初始化spring bean
,因为我不希望不同的测试更改其他测试的结果。
我知道默认情况下,在运行每个测试方法之前会创建一个测试类的新示例。测试代码的结果为真,因为每个测试的示例变量编号都是由junit5初始化的。
public class TestInstanceVaribale{
int number = 0;
@Test
public void test1() {
number += 3;
Assertions.assertEquals(3, number);
}
@Test
public void test2() {
number += 5;
Assertions.assertEquals(5, number);
}
}
但是,由于Spring Bean未初始化,此代码失败。
第一个
如何在junit中初始化spring bean
以分离测试?
@SpringBootTest
@initalizeSpringBeanPerMethod <-- I want like this
public class TestSpringVariable2 {
@Autowired
Car car;
@BeforeEach
public void initalize() { <-- I want like this
SpirngBean.initalize()
}
}
1条答案
按热度按时间wnvonmuf1#
看一看DirtiesContext
它告诉Spring在每次测试之后/之前重置它的状态(取决于你如何设置它)