ใครสามารถอธิบายสิ่งที่คำอธิบายประกอบ @magentoDbIsolation สำหรับการทดสอบการรวมได้หรือไม่


9

เมื่อมองผ่านการทดสอบการรวมที่เขียนสำหรับโมดูลหลักฉันเห็นหลายอินสแตนซ์ของคำอธิบายประกอบ@magentoDbIsolation enabledปรากฏเหนือฟังก์ชันทดสอบ

ไม่มีการกล่าวถึงสิ่งนี้ในเอกสาร MTF และแม้กระทั่งหลังจากดูที่Magento\TestFramework\Annotation\DbIsolationฉันยังไม่ชัดเจนว่าเป็นไปตามวัตถุประสงค์

ใครสามารถให้ข้อมูลเชิงลึกบางอย่าง ขอบคุณ

คำตอบ:


17

หากมีการระบุคำอธิบายประกอบนี้ธุรกรรม DB จะเริ่มต้นก่อนการทดสอบและย้อนกลับหลังจากนั้น สิ่งนี้มีประโยชน์หากไม่มีการใช้งานการติดตั้งฐานข้อมูลและจะบันทึกสิ่งต่าง ๆ ลงในฐานข้อมูลในการทดสอบ โปรดทราบว่าจะ@magentoDataFixtureมีการตัดการทดสอบในรายการดังนั้นจึงไม่จำเป็นต้องใช้คำอธิบายประกอบทั้งสองพร้อมกัน
และเพื่อประโยชน์ของความสมบูรณ์การระบุ@magentoDbIsolation disabledนั้นมีประโยชน์@magentoDbIsolation enabledก็ต่อเมื่อมีการระบุในชั้นทดสอบ


2

คำอธิบายประกอบ@magentoDbIsolationจะใช้ในการทดสอบการรวมเพื่อแยกการแก้ไข DB ที่ทำโดยการทดสอบ กล่าวอีกนัยหนึ่งถ้าคุณทำการทดสอบและทำการเปลี่ยนแปลงบางอย่างกับ db และในระหว่างการทดสอบ excecution คุณขอข้อมูลเหล่านี้จาก db ในเซสชั่นอื่น:

  • เมื่อ@magentoDbIsolation enabledคุณจะไม่ได้อะไรข้อมูลจะถูกแยกออกจากการทำธุรกรรม
  • เมื่อ@magentoDbIsolation disabledคุณได้รับข้อมูลข้อมูลจะไม่แยกออกจากกัน
  • ไม่มีการทดสอบการรวมคำอธิบายประกอบใด ๆ จะดำเนินการในโหมดที่ไม่แยก

ในการเปลี่ยนข้อมูล db จะเป็นการดีกว่าหากใช้หมายเหตุประกอบ@magentoDataFixtureซึ่งใช้การแยกข้อมูลตามค่าเริ่มต้น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.