H5W3
当前位置:H5W3 > 其他技术问题 > 正文

SpringBootTest测试时如何不启动程序?

我用SpringBootTest做测试时,发现会启动程序,导致控制台测试结果被程序输出给淹没了,而且程序启动也会耗费时间资源,有什么办法SpringBootTest测试时如何不启动程序?

我的测试程序中,会加下面注解

@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(classes = MainApplication.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)

感觉是因为有classes = MainApplication.class所以启动程序
但是如果不加上,又无法找到其他要用到的bean注入

回答:

单元测试本身就不依靠人工看控制台输出
需要用到bean,当然要起spring
以及,spring启动的输出 和 单个@Test 的输出是可以分开看的

回答:

如果是Web应用的话,测试类可以这么写:

@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(classes = MockServletContext.class)
@WebAppConfiguration
public class UserControllerTest {

    private MockMvc mockMvc;

    @Before
    public void before() {
        this.mockMvc = MockMvcBuilders.standaloneSetup(new UserController()).build();
    }
}

本文地址:H5W3 » SpringBootTest测试时如何不启动程序?

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址