springboot项目编写单元测试_搭建你的SpringBoot应用项目并进行单元测试

开发环境

java version 1.8.0_231

maven version 3.6.3

编译器IDEA 2020 1.1

一,项目结构搭建

创建一个Maven项目

打开 IDEA 依次 File->New->Project->Maven->ext->填写工程目录名称->Next->填写项目信息->Finish

在项目中添加工程模块,如图所示流程,共添加5个模块(dream-hammer-mall-api、dream-hammer-mall-service、dream-hammer-mall-dao、dream-hammer-mall-bean、dream-hammer-mall-common)。

五个模块的依赖关系为:api->service->dao-bean-common 鼠标在项目上右击->New->Module->Maven->Next->填写模块信息->Finish

修改工程Pom文件(最外层的Pom),修改打包类型为pom,继承SpringBoot的父pom,在依赖中引入spring-boot-starter,spring-boot-starter-web。

pom

org.springframework.boot

spring-boot-starter-parent

2.1.5.RELEASE

org.springframework.boot

spring-boot-starter

org.springframework.boot

spring-boot-starter-web

org.springframework.boot

spring-boot-starter-test

二、编写代码启动项目

编写启动类,在项目创建springboot的启动类。springboot的注解扫描默认是扫描启动类所在包以及子包,所以当没有指定扫描包时,一般将启动类创建在最外层的包中。Application.java

@SpringBootApplication

public class Application {

public static void main(String[] args) {

SpringApplication.run(Application.class,args);

}

}

编写HelloWorldController.java

@RestController

public class HelloWorldController {

@GetMapping("/helloWorld")

public Object helloWorld(){

return "hello world";

}

}

运行Application.java中的main方法即可启动项目

项目启动效果如下

三、使用单元测试

编写HelloWorldTest测试类,代码如下

@SpringBootTest

public class HelloWorldTest {

private MockMvc mockMvc;

//@Before 表示在执行测试主方法前先执行,一般用作资源初始化。

@Before

public void init() throws Exception {

mockMvc = MockMvcBuilders.standaloneSetup(new HelloWorldController()).build();

}

@Test

public void testHelloWorld() throws Exception {

String result = new String(

mockMvc.perform(

MockMvcRequestBuilders

.get("/helloWorld")

//设置 返回对象为JSON且为UTF-8编码

.accept(MediaType.APPLICATION_JSON_UTF8))

.andDo(print())

.andReturn()

.getResponse()

.getContentAsByteArray());

Assert.assertEquals("hello world", result);

}

}

直接执行testHelloWorld方法,效果如下:

至此一个Spring的应用项目搭建完成并进行了运行测试和单元测试

你可能感兴趣的:(springboot项目编写单元测试_搭建你的SpringBoot应用项目并进行单元测试)