小编Hun*_*ran的帖子

为什么@SpringRunner测试在每次测试时都要重新初始化类?

@PostConstruct习惯在运行测试之前进行一些初始设置,但似乎该@PostConstruct方法在每个测试上都运行,而不是在初始化测试类后才运行一次。我还看到构造函数在之前的每个测试之前被调用@PostConstruct。为什么在每个@Test方法上初始化测试类,而不是一次初始化?

我在用 spring-boot-starter-test:1.5.7.RELEASE

样本测试设置:

@RunWith(SpringRunner.class)
public class TestClass {

    public TestClass() {
        System.out.println("constructor");
    }

    @PostConstruct
    public void setup() {
        System.out.println("setting up");
    }

    @Test
    public void test1() {
        System.out.println("test 1");
    }

    @Test
    public void test2() {
        System.out.println("test 2");
    }
}
Run Code Online (Sandbox Code Playgroud)

在输出中,“构造函数”被打印两次,而“设置”被打印两次。“测试1”和“测试2”分别打印一次。

spring-test spring-boot springrunner

2
推荐指数
1
解决办法
455
查看次数

标签 统计

spring-boot ×1

spring-test ×1

springrunner ×1