
ในการแบ่งปันเรื่องของพัฒนาระบบงาน ในรูปแบบของ Microservicesรวมทั้งการทดสอบด้วย ซึ่งหนึ่งในแนวทางคือ การจำลองระบบงานต่าง ๆเพื่อให้สามารถพัฒนาและทดสอบได้ง่ายและสะดวกมากยิ่งขึ้นจึงได้แนะนำอีกหนึ่งเครื่องมือคือ Mok
ในระบบงานที่พัฒนาด้วยภาษา JavaScript ไม่ว่าจะผ่าน web browser หรือ Node (backend)ต่างมีการเชื่อมต่อหรือดึงข้อมูลผ่าน HTTP serviceซึ่งหนึ่งใน library ที่ใช้งานบ่อย ๆ คือ fetch API ที่ build-in มาให้โดยในการทดสอบระบบที่ทำงานกับ HTTP Serviceก็มี library สำหรับการจำลองมากมาย หนึ่งในนั้นคือ Fetch Mockมาลองใช้งานกันดู
Microcks คือเครื่องมือสำหรับการทดสอบระบบงาน และ สร้าง API Mocking ขึ้นมาแบบง่ายโดยสนับสนุน protocol หรือ tool ที่หลากหลาย ทั้ง HTTP/HTTPs, gRPC, AMQP, MQTT, Apache Kafkaช่วยให้จำลอง API server (Mock server) ได้ง่ายช่วยให้สร้าง automation test ได้ง่ายขึ้นสามารถทำงานร่วมกับ CI/CD tool ต่าง ๆ ได้อีกนั่นคือช่วยอำนวยความสะดวกตั้งแต่การพัฒนา ทดสอบ ไปถึงการ deploy ระบบงานเลยดังนั้นมาลองใช้งานกันดูนิดหน่อย
คำถามที่น่าสนใจ สำหรับการพัฒนาและทดสอบระบบงานหนึ่งในนั้นคือ เราควรจะ Mock หรือ ไม่ Mock พวก dependency ดี ?เป็นคำถามที่ตอบได้ยากมาก ๆ เนื่องจากมันขึ้นอยู่กับ context ที่พบเจอด้วยแต่สิ่งที่เราควรต้องตอบให้ได้ว่าเราจะ Mock พวก dependency ต่าง ๆ ไปทำไมเพราะว่าใช้ของจริงไปเลยสิ มันจริงกว่า ถูกต้องกว่า !!
ในการพัฒนาระบบงาน มักจะมีการใช้งาน service อื่น ๆผ่าน HTTP protocol ด้วยเสมอเราจะเรียก service เหล่านั้นว่า dependency บ่อยครั้งที่การ integration test มักจะมีปัญหาดังนั้นจึงต้องทำการจำลอง service เหล่านั้นขึ้นมาเพื่อให้เราสามารถพัฒนาและทดสอบไปได้อย่างราบรื่นหนึ่งในเครื่องมือที่น่าสนใจและลองใช้งานหน่อยคือ Smocker