最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

如何使用Docker容器和Postman測試您的應(yīng)用程序

2023-06-18 06:55 作者:曉楓Motivation  | 我要投稿

讓我們使用 Docker 容器和 Postman 測試我們的 API。

我們將測試使用 Node.js、Express 和 Postgres 創(chuàng)建的簡單 CRUD 應(yīng)用程序。

在這個例子中,我們將使用:

  • Postman:測試我們的API。

  • Newman:運(yùn)行我們的 Postman 系列。

  • 玩轉(zhuǎn) Docker:部署我們的應(yīng)用程序。

  • Docker:運(yùn)行我們的應(yīng)用程序。

分步程序

  1. 介紹

  2. 克隆存儲庫并修改 docker-compose.yml 文件

  3. 在本地運(yùn)行和測試應(yīng)用程序

  4. 部署我們的應(yīng)用程序。

  5. 創(chuàng)建并導(dǎo)出 Postman 集合

  6. 使用容器測試應(yīng)用程序

  7. 結(jié)論

(更|多優(yōu)質(zhì)內(nèi)|容:java567 點(diǎn) c0m)

0.??簡介

我們將使用 Docker 和 Postman:

  • Docker:運(yùn)行我們的應(yīng)用程序。

  • 郵遞員:測試一下。

?????郵遞員

Postman 是一個流行的協(xié)作平臺和 API(應(yīng)用程序編程接口)客戶端,允許開發(fā)人員設(shè)計、測試和記錄 API。它提供了一個用戶友好的界面,使用戶能夠請求 API 并檢查響應(yīng)并創(chuàng)建和管理 API 的自動化測試。

此外,Postman 允許團(tuán)隊共享請求集合并協(xié)作進(jìn)行 API 開發(fā)和測試。

Postman 非???,但我們將在本文中通過將它與 Docker 一起使用來使其更加令人難以置信。

?? 碼頭工人

Docker 是一個容器化平臺,允許開發(fā)人員將應(yīng)用程序及其依賴項打包到稱為容器的獨(dú)立單元中。

容器彼此隔離,并與底層主機(jī)系統(tǒng)隔離,使它們具有可移植性,并且易于跨不同環(huán)境部署。Docker 提供了一種簡單且一致的方式來構(gòu)建、分發(fā)和運(yùn)行應(yīng)用程序,這有助于簡化開發(fā)過程并減少設(shè)置和管理復(fù)雜應(yīng)用程序架構(gòu)所需的時間和精力。

在本文中,我們將使用 docker 來運(yùn)行我們的應(yīng)用程序并使用 Postman 測試應(yīng)用程序。

1. ?? 克隆存儲庫

我們將使用我在另一個視頻中創(chuàng)建的 JavaScript 項目。它是一個使用 Node.js、Express 和 Postgres 的簡單 CRUD 應(yīng)用程序。

?git clone https://github.com/FrancescoXX/crud-node-live.git


現(xiàn)在進(jìn)入存儲庫

?cd crud-node-live


然后用你最喜歡的 IDE 打開這個文件夾。我正在使用 VSCode。

?code .


修改 docker-compose.yml 文件。

要測試此應(yīng)用程序,您可以構(gòu)建自己的映像或使用我創(chuàng)建并推送到 Dockerhub 的映像。

要使用我的,請刪除build第 6 行的指令,因為我們將使用來自 Dockerhub 的現(xiàn)有圖像

這是最終的docker-compose.yml文件(注意沒有build說明)

?version: "3.9"
?
?services:
? ?node_app:
? ? ?container_name: node_app
? ? ?image: francescoxx/node_live_app
? ? ?ports:
? ? ? ?- "3000:3000"
? ? ?environment:
? ? ? ?- PG_DB=node_live_db
? ? ? ?- PG_USER=francesco
? ? ? ?- PG_PASSWORD=12345
? ? ? ?- PG_HOST=node_db
? ? ?depends_on:
? ? ? ?- node_db
?
? ?node_db:
? ? ?container_name: node_db
? ? ?image: postgres:12
? ? ?ports:
? ? ? ?- "5432:5432"
? ? ?environment:
? ? ? ?- POSTGRES_DB=node_live_db
? ? ? ?- POSTGRES_USER=francesco
? ? ? ?- POSTGRES_PASSWORD=12345
? ? ?volumes:
? ? ? ?- node_db_data:/var/lib/postgresql/data
?
?volumes:
? ?node_db_data: {}


2. ?? 在本地運(yùn)行和測試應(yīng)用程序

在本地運(yùn)行應(yīng)用程序

讓我們在本地運(yùn)行這兩個 Docker 服務(wù)(容器)。

運(yùn)行 Postgres 容器:

?docker compose up -d node_db


運(yùn)行節(jié)點(diǎn)應(yīng)用程序:

?docker compose up -d node_app


并檢查它們是否都已啟動并正在運(yùn)行:

?docker ps -a


輸出應(yīng)與此類似:


在本地測試應(yīng)用程序

在此示例中,我們將僅測試兩個端點(diǎn):

使用 Postman,我們可以GET向localhost:3000


我們可以GET請求localhost:3000/users


我們沒有任何用戶,所以我們得到一個空數(shù)組。

現(xiàn)在我們已準(zhǔn)備好部署此服務(wù)并使用容器對其進(jìn)行測試。

3. ?? 部署應(yīng)用

您可以使用任何容器服務(wù),例如 AWS、Azure 或 Google Cloud 平臺。

重要的部分是要有一個最終的公共 IP 地址,以便使用 Postman 對其進(jìn)行測試。

我將使用免費(fèi)且易于使用的 Play with Docker。

玩轉(zhuǎn) Docker

訪問此鏈接: https: //labs.play-with-docker.com/并單擊Start


這將創(chuàng)建一個 4 小時的會話,您可以在其中創(chuàng)建和測試您的容器。

點(diǎn)擊+ Add new instance


在右側(cè),您應(yīng)該會看到一個終端和實(shí)例。這個實(shí)例有一個公共地址。


部署應(yīng)用程序

部署應(yīng)用程序非常容易。

我們需要復(fù)制 docker-compose.yml 文件并將其粘貼到操場上。

您可以使用 ssh 執(zhí)行此操作,也可以將文件拖放到 playground 上。


通過鍵入檢查 docker-compose 文件是否存在

?ls



現(xiàn)在讓我們運(yùn)行我們之前在本地運(yùn)行的相同的兩個命令:

?docker compose up -d node_db
?docker compose up -d node_app


讓我們檢查一下

?docker ps -a


請注意,現(xiàn)在有 2 個端口打開:3000和5432


如果單擊3000旁邊的OPEN PORT,您應(yīng)該會看到應(yīng)用程序在公共 IP 上運(yùn)行(如果您使用任何云提供商,請檢查公共 IP)


讓我們舉個例子

4. ???郵差收藏

打開 Postman,如果您還沒有創(chuàng)建一個新的公共空間,可以隨意命名。

就我而言,我創(chuàng)建了一個名為public-francesco

現(xiàn)在通過單擊創(chuàng)建一個新集合Create Collection


重命名為postman-docker


GET request在應(yīng)用程序的公共 IP 地址添加一個新的,SAVE它(右上角)


復(fù)制它(右鍵單擊第一個請求)并命名新的Get All Users

這個請求將是一個GET request to <public-server-ip>:/users


??記得保存要求

您可以通過直接在 Postman 中運(yùn)行來測試此 Collection:



我們現(xiàn)在準(zhǔn)備導(dǎo)出這個集合并使用容器對其進(jìn)行測試

6. ?? 使用容器測試應(yīng)用程序

我們將使用 Newman,它是 Postman 的命令行收集運(yùn)行程序。它允許您直接從命令行運(yùn)行和測試 Postman 集合。它在構(gòu)建時考慮了可擴(kuò)展性,因此您可以輕松地將它與您的持續(xù)集成服務(wù)器和構(gòu)建系統(tǒng)集成。

導(dǎo)出 Postman 集合

現(xiàn)在將此集合導(dǎo)出為 JSON 文件。您可以通過單擊集合名稱右側(cè)的三個點(diǎn),然后單擊Export


另存為node-collection(無擴(kuò)展名)


現(xiàn)在是時候運(yùn)行這個集合了。

使用 Newman 運(yùn)行 Postman Collection

?? 對于 Windows 用戶:使用命令提示符或 Powershell

導(dǎo)航到文件node-collection所在的文件夾


并運(yùn)行此命令:

?docker run -v <postman-collection-path>:/etc/newman -t postman/newman run node-collection


替換<postman-collection-path>為文件所在文件夾的路徑node-collection。

就我而言,它是/c/workspace/postman-collection-test


您將獲得請求列表。

7.??結(jié)論

我們做到了!我們使用以下方法測試了該應(yīng)用程序:

  • 郵遞員集合

  • 新人

  • 碼頭工人

(更|多優(yōu)質(zhì)內(nèi)|容:java567 點(diǎn) c0m)


如何使用Docker容器和Postman測試您的應(yīng)用程序的評論 (共 條)

分享到微博請遵守國家法律
临颍县| 成都市| 锡林郭勒盟| 清水县| 临猗县| 富顺县| 得荣县| 迭部县| 张掖市| 呈贡县| 康定县| 乾安县| 中宁县| 延吉市| 应用必备| 洛南县| 临潭县| 类乌齐县| 林州市| 西城区| 五寨县| 宣恩县| 富源县| 永和县| 苍山县| 鸡西市| 墨江| 忻城县| 沈阳市| 延寿县| 南通市| 广丰县| 嘉兴市| 资溪县| 瑞安市| 东台市| 冷水江市| 英吉沙县| 江口县| 贡山| 衡南县|