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 方式

SpringBoot——SpringBoot中设置字符集编码的两种方式

springboot之jackson的两种配置方式

Springboot 热部署的两种方式

SpringBoot——SpringBoot中使用过滤器Filter的两种方式