1.集成测试的自动配置
以下是一个基本的集成测试:
@RunWith(SpringRunner.class)
@SpringBootTest
public class NewsModuleServiceImplTest {
@Resource
private NewsModuleService newsModuleService;
@Test
public void insert() {
NewsModule newsModule = new NewsModule();
newsModule.setMId(1);
newsModule.setNewsId(2);
newsModuleService.insert(newsModule);
}
}
该测试方法加入了@RunWith和@SpringBootTest。@RunWith的参数是SpringRunner.class,而SpringRunner.class继承自SpringJUnit4ClassRunner,它开启了Spring的集成测试;@SpringBootTest表明这是一个Spring Boot测试类。
2.测试Web应用程序
要恰当地测试一个Web应用程序,你需要投入一些实际的HTTP请求,确认它能正确的处理那些请求,Spring Boot为开发者提供了两个可选方案:
- Spring Mock MVC:能在一个近似真实的模拟Servlet容器里测试控制器,而不是实际启动应用服务器
- Web集成测试:在嵌入式的Servlet容器里(如Tomcat)测试Web程序,在真正的应用服务器里进行测试。
以上两种是比较容易理解的,具体代码分析这里就不一一罗列了。