弹簧引导测试打包部署的方法

  

有很多网友会时不时的问我,春天引导项目如何测试,如何部署,在生产中有什么好的部署方案吗?这篇文章就来介绍一下弹簧引导如何开发,调试,打包到最后的投产上线。

  

  

  

在开发阶段的时候最重要的是单元测试了,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

  

     

弹簧引导测试打包部署的方法