我有一个类似这样的集成测试类(但更复杂)
@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都被重置为初始值一样。这里没有使用@Before函数,那么发生了什么呢?
1条答案
按热度按时间gab6jxml1#
默认情况下,JUnit为每个测试运行创建一个新的测试类示例(每次都重新初始化字段)。您可以使用@TestInstance注解修改此行为。