本章内容
集成测试
在服务器里测试应用程序
Spring Boot的测试辅助工具
有人说,如果你不知道要去哪,走就是了。但在软件开发领域,如果你没有目标,那结果往往是开发出一个满是bug的应用程序,没人用得了。
在编写应用程序时,明确目标的最佳方法就是写测试,确定应用程序的行为是否符合预期。如果测试失败了,你就有活要干了。如果测试通过了,那你就成功了(至少在你觉得还有其他测试要写之前,是这样的)。
究竟是在编写业务代码之前还是之后写测试,这并不重要。重要的是,写测试不仅仅是为了验证代码的准确性,还要确认它符合预期。测试也是一道保障,确认应用程序在改进的同时不会破坏已有的东西。
在编写单元测试的时候,Spring通常不需要介入。Spring鼓励松耦合、接口驱动的设计,这些都能让你很轻松地编写单元测试。但是在写单元测试时并不需要用到Spring。
但是,集成测试要用到Spring。如果生产应用程序使用Spring来配置并组装组件,那么测试就需要用它来配置并组装那些组件。
Spring的SpringJUnit4ClassRunner
可以在基于JUnit的应用程序测试里加载Spring应用程序上下文。在测试Spring Boot应用程序时,Spring Boot除了拥有Spring的集成测试支持,还开启了自动配置和Web服务器,并提供了不少实用的测试辅助工具。
在本章中,我们会看到Spring Boot的各种集成测试支持。让我们先来看看如何在Spring Boot应用程序上下文里做测试。