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>
相關文章
相關標籤/搜索