MuleSoft - การทดสอบกับ MUnit

เราเข้าใจว่าการทดสอบหน่วยเป็นวิธีการที่สามารถทดสอบซอร์สโค้ดแต่ละหน่วยเพื่อพิจารณาว่าเหมาะสมกับการใช้งานหรือไม่ โปรแกรมเมอร์ Java สามารถใช้ Junit framework เพื่อเขียนกรณีทดสอบ ในทำนองเดียวกัน MuleSoft ยังมีกรอบที่เรียกว่า MUnit ซึ่งช่วยให้เราสามารถเขียนกรณีทดสอบอัตโนมัติสำหรับ API และการรวมระบบ เหมาะอย่างยิ่งสำหรับสภาพแวดล้อมการรวม / การปรับใช้อย่างต่อเนื่อง ข้อดีอย่างหนึ่งของ MUnit framework คือเราสามารถรวมเข้ากับ Maven และ Surefire ได้

คุณสมบัติของ MUnit

ต่อไปนี้เป็นคุณสมบัติที่มีประโยชน์บางประการของกรอบการทดสอบ Mule MUnit -

  • ใน MUnit framework เราสามารถสร้าง Mule test ได้โดยใช้ Mule code และ Java code

  • เราสามารถออกแบบและทดสอบแอป Mule และ API ของเราทั้งในรูปแบบกราฟิกหรือแบบ XML ภายใน Anypoint Studio

  • MUnit ช่วยให้เราสามารถรวมการทดสอบเข้ากับกระบวนการ CI / CD ที่มีอยู่ได้อย่างง่ายดาย

  • มีการทดสอบและรายงานความครอบคลุมที่สร้างขึ้นโดยอัตโนมัติ ดังนั้นการทำงานด้วยตนเองจึงมีน้อย

  • นอกจากนี้เรายังสามารถใช้เซิร์ฟเวอร์ DB / FTP / เมลในเครื่องเพื่อทำการทดสอบแบบพกพามากขึ้นผ่านกระบวนการ CI

  • ช่วยให้เราสามารถเปิดหรือปิดการทดสอบได้

  • เรายังสามารถขยายกรอบ MUnit ด้วยปลั๊กอิน

  • ช่วยให้เราตรวจสอบการเรียกใช้ตัวประมวลผลข้อความ

  • ด้วยความช่วยเหลือของกรอบการทดสอบ MUnit เราสามารถปิดการใช้งานตัวเชื่อมต่อปลายทางและจุดสิ้นสุดขาเข้า

  • เราสามารถตรวจสอบรายงานข้อผิดพลาดด้วย Mule stack trace

รุ่นล่าสุดของ Mule MUnit Testing Framework

MUnit 2.1.4 เป็นเฟรมเวิร์กการทดสอบ Mule MUnit รุ่นล่าสุด ต้องทำตามข้อกำหนดฮาร์ดแวร์และซอฟต์แวร์ -

  • MS Windows 8+
  • Apple Mac OS X 10.10+
  • Linux
  • จาวา 8
  • Maven 3.3.3, 3.3.9, 3.5.4, 3.6.0

เข้ากันได้กับ Mule 4.1.4 และ Anypoint Studio 7.3.0

MUnit และ Anypoint Studio

ตามที่กล่าวไว้ MUnit ได้รับการผสานรวมอย่างสมบูรณ์ใน Anypoint studio และเราสามารถออกแบบและทดสอบแอป Mule และ API ของเราแบบกราฟิกหรือใน XML ภายใน Anypoint studio กล่าวอีกนัยหนึ่งเราสามารถใช้อินเทอร์เฟซแบบกราฟิกของ Anypoint Studio เพื่อทำสิ่งต่อไปนี้ -

  • สำหรับการสร้างและออกแบบการทดสอบ MUnit
  • สำหรับการดำเนินการทดสอบของเรา
  • สำหรับการดูผลการทดสอบและรายงานความครอบคลุม
  • สำหรับการดีบักการทดสอบ

ดังนั้นให้เราเริ่มคุยกันทีละงาน

การสร้างและออกแบบการทดสอบ MUnit

เมื่อคุณเริ่มโปรเจ็กต์ใหม่มันจะเพิ่มโฟลเดอร์ใหม่โดยอัตโนมัติคือ src/test/munitกับโครงการของเรา ตัวอย่างเช่นเราเริ่มโครงการ Mule ใหม่คือtest_munitคุณจะเห็นในภาพด้านล่างซึ่งจะเพิ่มโฟลเดอร์ดังกล่าวข้างต้นภายใต้โครงการของเรา

ตอนนี้เมื่อคุณเริ่มโครงการใหม่มีสองวิธีพื้นฐานในการสร้างการทดสอบ MUnit ใหม่ใน Anypoint Studio -

  • By Right-Clicking the Flow - ในวิธีนี้เราต้องคลิกขวาที่โฟลว์เฉพาะและเลือก MUnit จากเมนูแบบเลื่อนลง

  • By Using the Wizard- ในวิธีนี้เราต้องใช้ตัวช่วยสร้างแบบทดสอบ ช่วยให้เราสร้างการทดสอบสำหรับโฟลว์ใด ๆ ในพื้นที่ทำงาน

เราจะใช้วิธี 'คลิกขวาที่โฟลว์' เพื่อสร้างการทดสอบสำหรับโฟลว์เฉพาะ

ขั้นแรกเราต้องสร้างโฟลว์ในพื้นที่ทำงานดังนี้ -

ตอนนี้คลิกขวาที่โฟลว์นี้แล้วเลือก MUnit เพื่อสร้างการทดสอบสำหรับโฟลว์นี้ดังที่แสดงด้านล่าง -

จะสร้างชุดทดสอบใหม่ที่ตั้งชื่อตามไฟล์ XML ที่โฟลว์อยู่ ในกรณีนี้,test_munit-test-suite คือชื่อของชุดทดสอบใหม่ดังที่แสดงด้านล่าง -

ต่อไปนี้เป็นตัวแก้ไข XML สำหรับโฟลว์ข้อความด้านบน -

ตอนนี้เราสามารถเพิ่มไฟล์ MUnit ตัวประมวลผลข้อความไปยังชุดทดสอบโดยลากจาก Mule Palette

หากคุณต้องการสร้างการทดสอบผ่านตัวช่วยสร้างให้ทำตาม File → New → MUnit และจะนำคุณไปสู่ชุดทดสอบ MUnit ต่อไปนี้ -

การกำหนดค่าการทดสอบ

ใน Mule 4 เรามีสองส่วนใหม่ ได้แก่ MUnit และ MUnit Toolsโดยรวมมีตัวประมวลผลข้อความ MUnit ทั้งหมด คุณสามารถลากตัวประมวลผลข้อความใดก็ได้ในพื้นที่ทดสอบ MUnit ของคุณ มันแสดงในภาพหน้าจอด้านล่าง -

ตอนนี้หากคุณต้องการแก้ไขการกำหนดค่าสำหรับชุดสูทของคุณหรือทดสอบใน Anypoint Studio คุณต้องทำตามขั้นตอนด้านล่าง -

Step 1

ไปที่ไฟล์ Package Explorer และคลิกขวาที่ไฟล์ .xml fileสำหรับห้องชุดหรือการทดสอบของคุณ จากนั้นเลือกไฟล์Properties.

Step 2

ตอนนี้ในหน้าต่าง Properties เราต้องคลิก Run/Debug Settings. หลังจากนี้คลิกNew.

Step 3

ในขั้นตอนสุดท้ายคลิก MUnit ภายใต้ Select Configuration Type หน้าต่างแล้วคลิก OK.

เรียกใช้การทดสอบ

เราสามารถเรียกใช้ชุดทดสอบเช่นเดียวกับการทดสอบ ขั้นแรกเราจะดูวิธีเรียกใช้ชุดทดสอบ

การเรียกใช้ชุดทดสอบ

สำหรับการเรียกใช้ชุดทดสอบให้คลิกขวาที่ส่วนว่างของ Mule Canvas ที่ชุดทดสอบของคุณอยู่ จะเปิดเมนูที่ขยายลงมา ตอนนี้คลิกที่ไฟล์Run MUnit suite ดังแสดงด้านล่าง -

ต่อมาเราจะเห็นผลลัพธ์ในคอนโซล

ทำการทดสอบ

ในการเรียกใช้การทดสอบเฉพาะเราจำเป็นต้องเลือกการทดสอบที่เฉพาะเจาะจงและคลิกขวาที่สิ่งนั้น เราจะได้รับเมนูแบบเลื่อนลงเช่นเดียวกับที่เราได้รับในขณะที่เรียกใช้ชุดทดสอบ ตอนนี้คลิกที่ไฟล์Run MUnit Test ตัวเลือกที่แสดงด้านล่าง -

หลังจากผลลัพธ์สามารถเห็นได้ในคอนโซล

การดูและวิเคราะห์ผลการทดสอบ

Anypoint studio แสดงผลการทดสอบ MUnit ในไฟล์ MUnit tabของบานหน้าต่างนักสำรวจด้านซ้าย คุณสามารถค้นหาการทดสอบที่ประสบความสำเร็จเป็นสีเขียวและการทดสอบที่ล้มเหลวเป็นสีแดงดังที่แสดงด้านล่าง -

เราสามารถวิเคราะห์ผลการทดสอบของเราได้โดยดูรายงานความครอบคลุม คุณสมบัติหลักของรายงานความครอบคลุมคือการให้ตัวชี้วัดว่าแอปพลิเคชัน Mule ดำเนินการได้สำเร็จมากน้อยเพียงใดโดยชุดการทดสอบ MUnit การครอบคลุม MUnit นั้นโดยพื้นฐานแล้วขึ้นอยู่กับจำนวนของตัวประมวลผลข้อความ MUnit ที่ดำเนินการ รายงานความครอบคลุมของ MUnit ให้เมตริกดังต่อไปนี้ -

  • ความครอบคลุมโดยรวมของแอปพลิเคชัน
  • ความครอบคลุมของทรัพยากร
  • ความครอบคลุมการไหล

หากต้องการรับรายงานความครอบคลุมเราต้องคลิกที่ 'สร้างรายงาน' ใต้แท็บ MUnit ดังที่แสดงด้านล่าง -

การดีบักการทดสอบ

เราสามารถดีบักชุดทดสอบและชุดทดสอบ ขั้นแรกเราจะดูวิธีการดีบักชุดทดสอบ

การดีบักชุดทดสอบ

สำหรับการดีบักชุดทดสอบให้คลิกขวาที่ส่วนว่างของ Mule Canvas ที่ชุดทดสอบของคุณอยู่ จะเปิดเมนูที่ขยายลงมา ตอนนี้คลิกที่ไฟล์Debug MUnit Suite ดังแสดงในภาพด้านล่าง -

จากนั้นเราจะเห็นผลลัพธ์ในคอนโซล

การแก้จุดบกพร่องของการทดสอบ

ในการแก้ไขข้อบกพร่องของการทดสอบที่เฉพาะเจาะจงเราจำเป็นต้องเลือกการทดสอบเฉพาะและคลิกขวาที่สิ่งนั้น เราจะได้รับเมนูแบบเลื่อนลงเช่นเดียวกับที่เราได้รับในขณะที่แก้ไขข้อบกพร่องชุดทดสอบ ตอนนี้คลิกที่ไฟล์Debug MUnit Testตัวเลือก จะแสดงในภาพหน้าจอด้านล่าง