ทำไมต้อง wiremock 😊

wacharaporn kumsanrach
ntbx
Published in
2 min readJun 1, 2021

wiremock เป็นเครื่องมือในการจำลองข้อมูล ช่วยให้สามารถทำงานได้อย่างมีประสิทธิภาพ และมีไว้ test API ซึ่งจะช่วยในการจำลองข้อมูลของ API ที่มี request และ response ส่งไปที่ service อื่น เมื่อ API ของ service อื่นไม่สามารถทำงานได้ หรือไม่ได้เปิด service Network ล่ม ก็สามารถทำ wiremock มาจำลองข้อมูลแทนได้

โครงสร้างในการเขียน wiremock

  1. สร้าง folder ชื่อว่า wiremock ขึ้นมา
  2. สร้าง folder ที่อยู่ภายใต้ wiremock ชื่อว่า stubs
  3. สร้าง folder ที่อยู่ภายใต้ stubs ชื่อว่า __files

3.1 สร้าง folder โดยตั้งชื่อ ตามเรื่องที่เขียนหรือตามชื่อโปรเจคที่เกี่ยวข้อง เพื่อไว้เก็บ file สำหรับ response API

3.2 สร้าง file ที่อยู่ภายใต้ (3.1) โดยการตั้งชื่อตาม method-storyname.json เช่น post-employee.json

ตัวอย่าง

file : post-employee.json

4. สร้าง folder ที่อยู่ภายใต้ stubs ชื่อว่า mapping เพื่อไว้เก็บ file สำหรับ mapping API

4.1 สร้าง folder โดยตั้งชื่อ ตามเรื่องที่เขียนหรือตามชื่อโปรเจคที่เกี่ยวข้อง

4.2 สร้าง file ที่อยู่ภายใต้ (4.1) โดยการตั้งชื่อตาม method-storyname.json เช่น post-employee.json

ตัวอย่าง

request

method → ชื่อ method ของ API ที่จะยิงไป

url → ชื่อของ API

response

status → ตามที่ expect ไว้ เป็น 200/204/400/500

bodyFileName → ชื่อ folder(ข้อ 3.1)/ชื่อ file (ข้อ 3.2) เพื่อที่จะได้เอา response ที่ mock ไว้

headers → เป็น default ที่เอาไว้ allow สิทธิ(สามารถ copy ได้เลย)

file : post-employee.json

การตั้งค่าก่อนที่จะ run wiremock ใน file docker-compose-ci.yml

คำสั่งในการ run wiremock

docker-compose -f .\docker-compose-ci.yml up — build

ตัวอย่างที่ run ผ่าน windown powerShell

  1. เข้าไปที่ path ของ project ที่ต้องการรันใน windown powerShell
  2. ใส่คำสั่งในการ run แล้ว enter
ตัวอย่างที่ได้จากการ run wiremock

wiremock ช่วยให้เราทำงานได้ง่ายขึ้นเยอะเลยยยย ลองทำกันดูนะคะ😊😊😊😊

--

--