1. 程式人生 > >動手搭建自己的本地測試伺服器

動手搭建自己的本地測試伺服器

動手搭建自測伺服器,加快本地開發進度,最近自己在開發過程中有這麼一個需求,在開發本地應用模組過程中,需要請求伺服器測試伺服器,但是伺服器老出問題,於是就有自己本地搭建一個伺服器的一個想法,然後配置介面,返回自己請求以後返回自己想要的資料資訊的需求,當然這些資料也可以直接寫在本地應用裡面,但是這樣模擬出來的場景不是自己想要的,於是就有自己本地搭建伺服器得這樣一個需求,並且比較簡單,於是在這裡分享出來,以供有同類需求的App開發人員借鑑使用,同時自己也記錄儲存一下。

本文目錄
1. 搭建測試伺服器
2. 模擬在實際專案中的使用場景
一. 搭建測試伺服器

這裡選擇moco一款基於 Java 開發的開源專案來搭建測試伺服器。
moco使用的場景是什麼呢?

1、我是一個企業級軟體開發人員,每次面對整合就是我頭疼開始的時候,漫長整合拉鋸戰拖延了我們的進度。幸好有了moco,幾行配置就可以模擬一個服務,我再也不需要看整合服務團隊的臉色了。
2、我是一個移動開發人員,上級催得緊,可伺服器端開發進度慢,我空有一個漂亮的App應用,發揮不出作用。幸好有了moco,很快就可以搭建出一個模擬服務,不用把時間浪費在無效的等待上了。
3、我是一個前端開發人員,做Inception的時候,客戶總想看到一個完整的應用演示,可哪有時間開發後端服務啊!幸好有了moco,幾下就可以弄出一個模擬服務,我做的頁面一下就有了生命力。

接下來我們就開始搭建本地測試伺服器,首先需要下載一個

moco服務端的jar包,當然你可以從官網下載原始碼按照官網的說明編譯生成jar包。這裡不想搞的過於複雜,我們需要的快速搭建測試伺服器,直接下載jar包就Ok。

測試列印Hello world!

首先把剛才下載的jar包放在本地資料夾這裡資料夾命名為MINE_API,然後在資料夾裡建立一個MineAPI.json檔案(.json是檔案字尾)。
這裡寫圖片描述

然後在MineAPI.json檔案裡輸入一下內容

[
 {
    "response": {
       "text": "Hello world!"
    }
 }
]

接下來開啟終端,輸入以下內容:

//指向你建立的MINE_API當前目錄,注意每個人的這個目錄不一樣,不要直接複製拿去使用 
cd
/Users/kabuqinuofu/CNKI/MINE_API

回車後再輸入以下內容然後回車:

java -jar moco.jar start -p 8888 -c MineAPI.json

出現如下內容表示執行成功:
這裡寫圖片描述

在瀏覽器流輸入:http://localhost:8888可以看到”Hello World!”字樣。
說明模擬伺服器是可以正常使用的。到此伺服器基本就搭建完畢了,還是挺簡單的。

一. 模擬在實際專案中的使用場景

這裡雖然請求出來了”Hello World!”,但是和我們實際專案中的需要還是有差別的,顧這裡模擬一下專案中實際需要場景。
這裡我要使用moco伺服器,模擬專案中的登陸介面和登入以後介面列表資料。
在實際專案中,請求介面資料比較多。因此把所有的配置放在同一個檔案裡,是非常不合適的,這裡需要進行全域性配置。
前期準備,寫配置檔案
在MINE_API資料夾建立settings.json,同時建立login和asset兩個資料夾(為了方便查詢)。
在login資料夾內建立login.json和login_response.json兩個檔案。
在asset資料夾內建立assetList.json和assetList_response.json兩個檔案。
1、在settings.json檔案輸入以下內容:

[
    {
        "include" : "login/login.json"
    },
    {
        "include" : "asset/assetList.json"
    }
]

2、login.json輸入以下內容:

[
  {
    "request" :
    {
      "uri" : "/assetApp/login",
      "method" : "get",
      "queries" :
        {
         "username" : "kabuqinuofu",
         "password" : "666666"
        }
    },
    "response" :
    {
      "file" : "./login/login_response.json"
    }
  }
]

3、login_response.json 輸入以下內容:

[
  {
    "status" : "OK"
  }
]

4、assetList.json內容

[
  {
    "request" :
    {
      "uri" : "/assetApp/assetList",
      "method" : "post",
      "headers" : {
          "content-type" : "application/json",
          "sessionid": "h3yh82hdbd8nf"
      }

    },
    "response" :
    {
      "file" : "./asset/assetList_response.json"
    }
  }
]

5、assetList_response.json 內容

[
  {
    "name": "雷軍",
    "unit": "小米",
  },
  {
    "name": "董明珠",
    "unit": "格力",
  },
  {
    "name": "喬布斯",
    "unit": "蘋果",
  },
  {
    "name": "馬雲",
    "unit": "阿里",
  },
  {
    "name": "李彥巨集",
    "unit": "百度",
  },
  {
    "name": "馬化騰",
    "unit": "騰訊",
  }
]

配置完以上內容後在終端裡輸入以下方法

cd /Users/kabuqinuofu/CNKI/MINE_API
//然後回車,在輸入以下內容,這裡注意是 -g 不在是 -c了
java -jar moco.jar start -p 8888 -g settings.json

這裡寫圖片描述

這裡寫圖片描述
到這裡就介紹完畢了,完全可以滿足本地使用需求了,接下來返回什麼資料就看自己需求定義了。[附:專案中使用的介面測試工具為谷歌瀏覽器的一個外掛,名叫RestLet Client,挺好用值得推薦!]