有很多网友会时不时的问我,春天引导项目如何测试,如何部署,在生产中有什么好的部署方案吗?这篇文章就来介绍一下弹簧引导如何开发,调试,打包到最后的投产上线。
在开发阶段的时候最重要的是单元测试了,springboot对单元测试的支持已经很完善了。
1,在pom包中添加spring-boot-starter-test包引用
& lt; dependency> & lt; groupId> org.springframework.boot & lt; artifactId> spring-boot-starter-test & lt; scope> test & lt;/dependency>
2,开发测试类
以最简单的helloworld为例,在测试类的类头部需要添加:@RunWith (SpringRunner.class)和@SpringBootTest注解,在测试方法的顶端添加@Test即可,最后在方法上点击右键运行就可以运行。
@RunWith (SpringRunner.class) @SpringBootTest 公开课ApplicationTests { @Test 公共空间hello () { system . out。println(“hello world”); } }
实际使用中,可以按照项目的正常使用去注入dao层代码或者是服务层代码进行测试验证,spring-boot-starter-test提供很多基础用法,更难得的是增加了对控制器层测试的支持。
//简单验证结果集是否正确 断言。.size assertequal (userMapper.getAll () ());//验证结果集,提示 断言。assertTrue(“错误,正确的返回值为200”,地位==200); 断言。assertFalse(“错误,正确的返回值为200”,地位!=200);>之前引入了MockMvc支持了对控制器层的测试,简单示例如下:
公开课HelloControlerTests { 私人MockMvc mvc;//初始化执行 @Before 公共空间设置()抛出异常{ mvc=MockMvcBuilders。standaloneSetup(新HelloController ()) .build (); }//验证控制器是否正常响应并打印返回结果 @Test 公共空间getHello()抛出异常{ mvc.perform (MockMvcRequestBuilders.get (“/hello”) .accept (MediaType.APPLICATION_JSON)) .isOk .andExpect (MockMvcResultMatchers.status () ()) .andDo (MockMvcResultHandlers.print ()) .andReturn (); }//验证控制器是否正常响应并判断返回结果是否正确 @Test 公共空间testHello()抛出异常{ mvc.perform (MockMvcRequestBuilders.get (“/hello”) .accept (MediaType.APPLICATION_JSON)) .isOk .andExpect(状态()()) .andExpect(内容()。字符串(等于(“Hello World”))); } }单元测试是验证你代码第一道屏障,要养成每写一部分代码就进行单元测试的习惯,不要等到全部集成后再进行测试,集成后因为更关注整体运行效果,很容易遗漏掉代码底层的错误。
整体开发完成之后进入集成测试,弹簧启动项目的启动入口在应用程序类中,直接运行运行方法就可以启动项目,但是在调试的过程中我们肯定需要不断的去调试代码,如果每修改一次代码就需要手动重启一次服务就很麻烦,弹簧引导非常贴心的给出了热部署的支持,很方便在网络项目中调试使用。
pom需要添加以下的配置:
& lt; dependencies> & lt; dependency> & lt; groupId> org.springframework.boot & lt; artifactId> spring-boot-devtools & lt; optional> true & lt;/dependency> & lt;/dependencies> & lt; build> & lt; plugins> & lt; plugin> & lt; groupId> org.springframework.boot & lt; artifactId> spring-boot-maven-plugin & lt; configuration> & lt; fork> true & lt;/configuration> & lt;/plugin> & lt;/plugins> & lt;/build>添加以上配置后,项目就支持了热部署,非常方便集成测试。
其实我觉得这个阶段,应该还是比较简单一般分为两种,一种是打包成jar包直接执行,另一种是打包成战争包放到tomcat服务器下。
如果你使用的是maven来管理项目,执行以下命令既可以
cd项目跟目录(和pom.xml同级) mvn清洁包 # #或者执行下面的命令 # #排除测试代码后进行打包 mvn清洁包-Dmaven.test.skip=true打包完成后jar包会生成到目标目录下,命名一般是项目名+版本号. jar
弹簧引导测试打包部署的方法