springboot test测试类_Spring Boot实现测试及打包部署

Spring Boot实现测试及打包部署

Spring Boot里面最常用的是单元测试了,Junit单元测试。Spring Boot也提供对单元测试的集成,除此之外,还提供了MockMVC对接口进行测试。

一、单元测试

首先单元测试需要引入Spring Boot Test坐标,如下:

org.springframework.boot spring-boot-starter-test test

然后,新建PackageApplicationTests.java类,加上Spring Boot单元测试标识:

@RunWith(SpringRunner.class)@SpringBootTest

表示是一个Spring Boot单元测试,并在测试方法上加入@Test声明测试方法,完整代码如图:

30591b01b390bb05b1eb3ac9597f4bf2.png

将鼠标移至contexrLoads方法代码块内,右键Junit执行结果:

3bf774595d4b70ba1175c4c4a561d148.png

运行了Junit测试执行结果。

二、MockMvc

下面写一下MockMvc的测试方法:

首先,新建一个Controller,代码如下:

a9078b56dcda20244f630d17e4d25677.png

引入MockMvc提供对接口测试的支持,新建HelloTests.java,加上Spring Boot测试标志:

ca368a36559861c0f3aca4955cd959c2.png

引入MockMvc工具:

8d7d879638a8491929a812604bb5a905.png

编写单元测试类初始化方法,引入HelloController接口:

742b0f49770b04eed7a4764f09fff97b.png

新建getHello()单元测试方法,并设置请求接口/hello,代码如下:

mvc.perform(MockMvcRequestBuilders.get("/hello").accept(MediaType.APPLICATION_JSON)) .andExpect(status().isOk()) .andExpect(content().string(equalTo("Hello World")));

MockMvc会调用接口,并测试接口是否成功,接口返回值是否正确,完整代码如下:

59a3774ed46ae3dc0b511f4fc527ad47.png

进入getHello方法体,右键Junit,查看结果:

47de17b694078417de91717266d0b9fc.png

结果返回正确。

接下来改进测试方法,增加验证controller是否正常响应并打印返回结果,添加andDo(MockMvcResultHandlers.print())输出打印结果。

MockMvc代码如下:

mvc.perform(MockMvcRequestBuilders.get("/hello").accept(MediaType.APPLICATION_JSON)) .andExpect(MockMvcResultMatchers.status().isOk()) .andDo(MockMvcResultHandlers.print()) .andReturn();

完整测试方法代码如下:

b81230e832a817f3813cd066e762d5cb.png

重新Junit测试,打印结果:

MockHttpServletRequest:

HTTP Method = GET

Request URI = /hello

Parameters = {}

Headers = {Accept=[application/json]}

Body =

Session Attrs = {}

Handler:

Type = com.ocai.core.test.controller.HelloController

Method = public java.lang.String com.ocai.core.test.controller.HelloController.index()

Async:

Async started = false

Async result = null

Resolved Exception:

Type = null

ModelAndView:

View name = null

View = null

Model = null

FlashMap:

Attributes = null

MockHttpServletResponse:

Status = 200

Error message = null

Headers = {Content-Type=[application/json;charset=ISO-8859-1], Content-Length=[11]}

Content type = application/json;charset=ISO-8859-1

Body = Hello World

Forwarded URL = null

Redirected URL = null

Cookies = []

如图:

0ef7084f4594b5673cd71b88c566add8.png

表示请求成功。

三、打包命令

进入命令行界面(CMD)也可以,cd 到项目根目录(和pom.xml同级),如图:

79d0aa98c82fca5e6114133a19d16199.png

执行命令:mvn clean package(会执行Junit测试代码)

选择:mvn clean package -Dmaven.test.skip=TRUE (忽略Junit Test)

如图:

469e972732ce1f3dae876620c65db5a2.png

运行结果:

e3dca6f58e9e8af3abe7871624b1c535.png

在target目录下会生成ocai-core-package-2.0-SNAPSHOT.jar文件:

4df1b041ff5efbef7705b8449a46696b.png

命名一般是 项目名+版本号.jar

CMD进入target目录,运行jar文件:java -jar ocai-core-package-2.0-SNAPSHOT.jar

如图:

058df590cbcf7cdbfc47a0e808bf7ed1.png

执行,运行结果如图:

68096456d85423da23d26515c416b838.png

启动成功,8483端口。

四、启动读取不同配置文件

准备好几个application配置文件,加上环境后缀名,如图:

7294ca45b85d6eb41fce981c6bb4a7b9.png

application-dev.yml资源文件示例如下:

2cbaf0dd4f1515f18de6c82f54a7e5bf.png

如果要选择dev环境资源文件,则启动命令为:

java -jar ocai-core-package-2.0-SNAPSHOT.jar --spring.profiles.active=dev则会执行application-dev.yml资源文件的配置。资源文件用于多个不同的环境进行切换,不同的机器,生产环境、开发环境、测试环境进行切换。

Spring Boot还可以采用打成war包方式,后面笔者会分享。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值