Mock Server
做過接口測試的同學(xué)一定聽說過mock Server,大家會覺得其很神秘,很高大上!mock Server出現(xiàn)的原因是現(xiàn)今的業(yè)務(wù)系統(tǒng)很少有孤立存在的,它們或多或少需要使用兄弟團(tuán)隊(duì)或是其他公司提供的服務(wù),這給我們的聯(lián)調(diào)和測試造成了麻煩。于是就有了解決方案——搭建一個(gè)臨時(shí)的server,模擬那些服務(wù),提供數(shù)據(jù)進(jìn)行聯(lián)調(diào)和測試。下圖很好的解釋了什么是Mock server:

Springboot介紹
Spring Boot 是由 Pivotal 團(tuán)隊(duì)提供的全新框架,其設(shè)計(jì)目的是用來簡化新 Spring 應(yīng)用的初始搭建以及開發(fā)過程。該框架使用了特定的方式來進(jìn)行配置,從而使開發(fā)人員不再需要定義樣板化的配置。Spring boot是一個(gè)微服務(wù)框架,是Spring本身的擴(kuò)展,延續(xù)了spring框架的核心思想IOC和AOP,他使得測試和部署更加方便。
Springboot環(huán)境配置
使用IntelliJ Idea,在應(yīng)用商店下載插件Spring Assistant,如下圖所示:

安裝完成后,重啟IntelliJ。
使用Spring Assistant來創(chuàng)建Spring boot工程

點(diǎn)擊Next,通過Maven來創(chuàng)建Spring boot工程,如下圖所示

選擇Spring Web項(xiàng)目,如下圖所示:

設(shè)置工程名稱,點(diǎn)擊Finish按鈕,完成工程創(chuàng)建。

接下來,maven會自動下載spring boot所需相關(guān)jar包。我們會在工程中看到,自動生成了一個(gè)SpringDemoApplication類,這個(gè)就是Springboot的入口類
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class SpringDemoApplication {
public static void main(String[] args) {
????? SpringApplication.run(SpringDemoApplication.class, args);
?? }
}
Controller實(shí)現(xiàn)
Controller的主要作用就是解析http請求,調(diào)用后端服務(wù),并
代碼如下:
@RestController
public class HelloWorld {
@RequestMapping("/")
public String helloworld(){
??????? return "Hello World ";
??? }
@RequestMapping("/login")?
?public String login(@RequestParam(value="name",required=true) String name, @RequestParam(value="password",required=true) String pwd){
??????????? return name+" "+pwd;
??? }
}
其中方法helloworld用來處理默認(rèn)請求http://localhost:8080/;
方法login用來處理帶參數(shù)的請求,并把參數(shù)name和password返回。
在SpringDemoApplication類中啟動Spring boot服務(wù),如下圖所示:

出現(xiàn)下圖信息,則證明服務(wù)啟動成功!

在瀏覽器中輸入http://localhost:8080/,顯示如下:

在瀏覽器中輸入http://localhost:8080/login?name=kevin&&password=123456,顯示如下:

微服務(wù)獨(dú)立部署
我們也可以把微服務(wù)通過maven打成jar包進(jìn)行獨(dú)立部署,具體方法如下:

打包成功后會在工程的target目錄下生成jar文件demo-0.0.1-SNAPSHOT.jar,進(jìn)入該目錄下,通過java命令行的方式啟動該服務(wù),具體命令如下:
java –jar demo-0.0.1-SNAPSHOT.jar
編寫自己的mock服務(wù)
對前面講過的方法login稍加改進(jìn),結(jié)合我們自己具體的實(shí)際業(yè)務(wù),就可以編寫專屬我們自己的mock服務(wù)了!
@RequestMapping("/login")?
?public String login(@RequestParam(value="name",required=true) String name, @RequestParam(value="password",required=true) String pwd){
?????????? return name+" "+pwd;
??? }
}
具體思路如下:
@RequestMapping("/service1")?
?public String service1(@RequestParam(value="param1",required=true) String param1, @RequestParam(value="param2",required=false) String param2,…){
?????????? //解析請求參數(shù),給出不同的返回值
??????????return 返回值
??? }
}
原創(chuàng)不易,如果文章幫到了你,歡迎點(diǎn)贊轉(zhuǎn)發(fā),讓更多的朋友受益!