单元测试
1、在pom包中添加spring-boot-starter-test包引用
org.springframework.boot
spring-boot-starter-test
test
View Code
2、开发测试类
@RunWith(SpringRunner.class)
@SpringBootTestpublic classApplicationTests {
@Testpublic voidhello() {
System.out.println("hello world");
}
}
View Code
实际使用中,可以按照项目的正常使用去注入dao层代码或者是service层代码进行测试验证,spring-boot-starter-test提供很多基础用法,更难得的是增加了对Controller层测试的支持。
//简单验证结果集是否正确
Assert.assertEquals(3, userMapper.getAll().size());//验证结果集,提示
Assert.assertTrue("错误,正确的返回值为200", status == 200);
Assert.assertFalse("错误,正确的返回值为200", status != 200);
View Code
引入了MockMvc支持了对Controller层的测试,简单示例如下:
public classHelloControlerTests {privateMockMvc mvc;//初始化执行
@Beforepublic void setUp() throwsException {
mvc= MockMvcBuilders.standaloneSetup(newHelloController()).build();
}//验证controller是否正常响应并打印返回结果
@Testpublic void getHello() throwsException {
mvc.perform(MockMvcRequestBuilders.get("/hello").accept(MediaType.APPLICATION_JSON))
.andExpect(MockMvcResultMatchers.status().isOk())
.andDo(MockMvcResultHandlers.print())
.andReturn();
}//验证controller是否正常响应并判断返回结果是否正确
@Testpublic void testHello() throwsException {
mvc.perform(MockMvcRequestBuilders.get("/hello").accept(MediaType.APPLICATION_JSON))
.andExpect(status().isOk())
.andExpect(content().string(equalTo("Hello World")));
}
}
View Code
集成测试
pom需要添加以下的配置:
org.springframework.boot
spring-boot-devtools
true
org.springframework.boot
spring-boot-maven-plugin
true
View Code
打成jar包
springboot的打包方式有很多种。有打成war的,有打成jar的,也有直接提交到github,通过jekins进行打包部署的。这里主要介绍如何打成jar进行部署。不推荐用war,因为springboot适合前后端分离,打成jar进行部署更合适。
在 IDEA 上 File--->Setting--->Project Structure
启动jar包命令
java -jar target/spring-boot-scheduler-1.0.0.jar
这种方式,只要控制台关闭,服务就不能访问了。下面我们使用在后台运行的方式来启动:
nohup java -jar target/spring-boot-scheduler-1.0.0.jar &
也可以在启动的时候选择读取不同的配置文件
java -jar app.jar --spring.profiles.active=dev
https://www.cnblogs.com/ityouknow/p/6834287.html
https://blog.csdn.net/weixin_40423572/article/details/80556043
打成war包
1、maven项目,修改pom包
将
jar
改为
war
2、打包时排除tomcat.
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-tomcat
provided
3、注册启动类
创建ServletInitializer.java,继承SpringBootServletInitializer ,覆盖configure(),把启动类Application注册进去。外部web应用服务器构建Web Application Context的时候,会把启动类添加进去。
public class ServletInitializer extendsSpringBootServletInitializer {
@OverrideprotectedSpringApplicationBuilder configure(SpringApplicationBuilder application) {return application.sources(Application.class);
}
}
4、IntelliJ IDEA导出war包
点击“Build”,选择“Build Artifacts”...
部署