springBoot 学习之路(第二节)

  1.  单元测试编写

搭建一个小系统,首先咱们要进行单元测试,那么咱们在springBoot中是怎么进行单元测试的呢?html

 找到测试目录下,编写简单的http请求来测试;使用mockmvc进行,利用MockMvcResultHandlers.print()打印出执行结果java

代码以下: springBoot 在pom.xml中自带了测试包mysql

package com.example.demo;

import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
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 org.springframework.test.web.servlet.result.MockMvcResultHandlers;
import org.springframework.test.web.servlet.result.MockMvcResultMatchers;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;

import com.example.demo.hello.controller.HelloController;

@RunWith(SpringRunner.class)
@SpringBootTest
public class MyFirstSpringBootApplicationTests {

    private MockMvc mvc;

    @Before
    public void setUp() throws Exception {
        mvc = MockMvcBuilders.standaloneSetup(new HelloController()).build();
    }

    @Test
    public void getHello() throws Exception {
        mvc.perform(MockMvcRequestBuilders.get("/hello").accept(MediaType.APPLICATION_JSON))
                .andExpect(MockMvcResultMatchers.status().isOk()).andDo(MockMvcResultHandlers.print()).andReturn();
    }

    @Test
    public void contextLoads() {
    }

}

运行后在控制台就能看到结果:web

2. 经常使用的jar 包引入redis

<dependencies>
	<!-- 核心模块,包括自动配置支持、日志和YAML -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter</artifactId>
		</dependency>
	<!-- 测试模块,包括JUnit、Hamcrest、Mockito -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
		<!-- web的模块 -->
		<dependency>
       		 <groupId>org.springframework.boot</groupId>
       		 <artifactId>spring-boot-starter-web</artifactId>
 		</dependency>
 		
 		<!-- 开发环境热启动 -->
    	<dependency>
       		 <groupId>org.springframework.boot</groupId>
       		 <artifactId>spring-boot-devtools</artifactId>
      		  <optional>true</optional>
   		</dependency>
   		
   		<!-- 数据库相关 -->
   		<dependency>
   			 <groupId>org.springframework.boot</groupId>
   			 <artifactId>spring-boot-starter-data-jpa</artifactId>
   			 </dependency>
 		<dependency>
   			 <groupId>mysql</groupId>
   			 <artifactId>mysql-connector-java</artifactId>
 		 </dependency>
  		<!-- 加密 -->
 		<dependency>
 			<groupId>org.apache.commons</groupId>
 			<artifactId>commons-lang3</artifactId>
 		</dependency>
 		<dependency>
			<groupId>commons-codec</groupId>
			<artifactId>commons-codec</artifactId>
			<version>1.10</version>
		</dependency>
		
		<!-- redis -->
		<dependency>
   			 <groupId>org.springframework.boot</groupId>
   			 <artifactId>spring-boot-starter-data-redis</artifactId>
		</dependency>
		
		<dependency>
   			 <groupId>org.apache.commons</groupId>
   			 <artifactId>commons-pool2</artifactId>
		</dependency>
		<!-- 添加jedis客户端 -->
        <!--spring2.0集成redis所需common-pool2-->
        <!-- 必须加上,jedis依赖此  -->
        <!-- spring boot 2.0 的操做手册有标注 你们能够去看看 地址是:https://docs.spring.io/spring-boot/docs/2.0.3.RELEASE/reference/htmlsingle/-->
         
        <dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
        </dependency>

		<!-- 将做为Redis对象序列化器 -->
		<dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.47</version>
        </dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-configuration-processor</artifactId>
			<optional>true</optional>
		</dependency>
		
		<!-- spring的session 分布式中使用-->
		<dependency>
    		<groupId>org.springframework.session</groupId>
   			 <artifactId>spring-session-data-redis</artifactId>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				 <!-- 热启动 -->
				<!--  该模块在完整的打包环境下运行的时候会被禁用。若是你使用java -jar启动应用或者用一个特定的classloader启动,它会认为这是一个“生产环境” -->
				 <configuration>
               		 <fork>true</fork>
           		 </configuration>
			</plugin>
		</plugins>
	</build>
相关文章
相关标签/搜索