Juint是否为每个测试重置全局变量



我有一个像这样的集成测试类(但更复杂(

@ExtendWith(SpringExtension::class)
@WebMvcTest(Controller::class)
class ScheduleControllerTest(@Autowired val mockMvc: MockMvc) {
val obj = object {
var b = 2
}
@Test
fun a(){
obj.b = 1
assertEquals(obj.b, 1)
}
@Test
fun b(){
assertEquals(obj.b, 2)

}
}

并且该类中的所有测试都通过,就好像在每个测试obj重置为其初始值之后一样。否@在这里使用函数之前,发生了什么?

默认情况下,JUnit为每次测试运行创建一个新的测试类实例(每次都会重新初始化字段(。您可以使用@TestInstance注释来修改此行为。

最新更新