ใน Cypress 6.0 ที่เพิ่งปล่อยออกมานั้น มีเรื่องที่น่าสนใจ
เพราะว่าผมก็ใช้งานเป็นประจำ
นั่นก็คือ cy.intercept ที่จะเข้ามาแทน cy.route
สำหรับทำการจำลองการทำงานของ network หรือ Network stub นั่นเอง
ที่สำคัญทาง Cypress ก็เขียน blob มาอธิบายเรื่องนี้อีกด้วย
ลองไปอ่านกันดู
Introducing cy.intercept - Next Generation Network Stubbing in Cypress 6.0
มาดูว่าในบทความเขาแนะนำอะไรบ้าง
ก่อนอื่นต้องบอกก่อนว่า ชื่อ intercept มันคือชื่อที่เหมาะสมกว่าเดิมมาก
เพราะว่าทุกครั้งที่ใช้งาน ผมจะเรียกว่าการทำ intercept เสมอ
เรื่องแรกคือ ไม่ต้องตกใจ เพียงแค่ deprecated เท่านั้นสำหรับ cy.route
ยังสามารถใช้งานได้เป็นปกติ
เนื่องจากจะเอาออกไปใน major version ถัดไปคือ 7 นั่นเอง
แต่ให้ดีก็ migrate กันซะ
เรื่องที่สองความแตกต่างระหว่าง cy.intercept กับ cy.route ที่เห็นได้ชัด
ปกติการใช้ cy.route ต้องทำการ start และ stop server ก่อน (cy.server)
แต่ใน cy.intercept ไม่ต้องทำเองอีกแล้ว สบายขึ้นเยอะ
เรื่องที่สาม cy.intercept นั้นโดย default จะรับ request จากทุก ๆ HTTP Method เลย
จะลดความปวดหัวในการดักหรือ intercept request ไปได้เยอะขึ้น
แต่เราก็สามารถระบุ HTTP Method ในแต่ละ intercept ได้
โดยรวม ๆ แล้วง่ายและสะดวกขึ้นเยอะครับ
ใครยังไม่ใช้ ก็ลองใช้ดู
ส่วนใครที่ใช้อยู่ก็ update ซะ