springboot测试的两种方式
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springboot测试的两种方式相关的知识,希望对你有一定的参考价值。
1、controller类的代码
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController
@GetMapping("/hello")
public String hello()
return "hello world!";
2、测试类的代码,包含引入的类
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.http.MediaType;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
import static org.hamcrest.CoreMatchers.equalTo;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
// 第一种方式,推荐这种使用更方便
@RunWith(SpringRunner.class)
@SpringBootTest
@AutoConfigureMockMvc
// 第二种方式@WebMvcTest中的参数需要填你要测试的controller类,而不是Application.class
//@RunWith(SpringRunner.class)
//@WebMvcTest(HelloController.class)
public class HelloControllerTest
@Autowired
private MockMvc mockMvc;
@Test
public void testHello() throws Exception
mockMvc.perform(MockMvcRequestBuilders.get("/hello").accept(MediaType.APPLICATION_JSON_UTF8))
.andExpect(status().isOk())
.andExpect(content().string(equalTo("hello world!")));
SpringBoot热部署的两种方式
SpringBoot热部署方式一共有两种,分别使用两种不同的依赖
SpringBoot 1.3后才拥有SpringBoot devtools热部署
①:spring-boot-devtools ②:Spring Loaded
方式一:
在项目的pom文件中添加依赖:
1 <!--热部署jar--> 2 <dependency> 3 <groupId>org.springframework.boot</groupId> 4 <artifactId>spring-boot-devtools</artifactId> 5 </dependency>
然后:使用 shift+ctrl+alt+"/" (IDEA中的快捷键) 选择"Registry" 然后勾选 compiler.automake.allow.when.app.running
方式二:
在项目中添加如下代码
<build> <plugins> <plugin> <!-- springBoot编译插件--> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <dependencies> <!-- spring热部署 --> <!-- 该依赖在此处下载不下来,可以放置在build标签外部下载完成后再粘贴进plugin中 --> <dependency> <groupId>org.springframework</groupId> <artifactId>springloaded</artifactId> <version>1.2.6.RELEASE</version> </dependency> </dependencies> </plugin> </plugins> </build>
添加完毕后需要使用mvn指令运行:
首先找到IDEA中的Edit configurations ,然后进行如下操作:(点击左上角的"+",然后选择maven将出现右侧面板,在红色划线部位输入如图所示指令,你可以为该指令命名(此处命名为MvnSpringBootRun))
点击保存将会在IDEA项目运行部位出现,点击绿色箭头运行即可
以上是关于springboot测试的两种方式的主要内容,如果未能解决你的问题,请参考以下文章
SpringBoot——SpringBoot中使用Servlet的两种方式
SpringBoot打包的两种方式 - jar方式 和 war 方式