การรันการทดสอบ JUnit แบบขนานใน IntelliJ IDEA

ฉันมีชุดการทดสอบขนาดใหญ่ที่ใช้เวลาประมาณครึ่งชั่วโมงในการดำเนินการ และอยากจะทำข้อสอบแบบคู่ขนานกันได้

มีวิธีทำเช่นนั้นกับ IntelliJ IDEA 9 หรือไม่


person Omer van Kloeten    schedule 24.08.2010    source แหล่งที่มา
comment
ไม่ใช่คำถามหลอกลวง (เนื่องจาก Q นี้ใช้สำหรับ IntelliJ) - แต่มีการสนทนาอยู่ที่นี่: stackoverflow.com/questions/423627/   -  person Noel M    schedule 24.08.2010


คำตอบ (3)


IDEA จะเข้าใจการทดสอบ JUnit แบบขนานตั้งแต่เวอร์ชัน 10 เท่านั้น

มีปัญหาเกี่ยวกับตัวติดตามซึ่งคุณสามารถโหวตและดูความคืบหน้าได้: http://youtrack.jetbrains.net/issue/IDEA-47103

เราวางแผนที่จะเพิ่มเข้าไปใน IDEA 10 แต่ลำดับความสำคัญจะขึ้นอยู่กับจำนวนคะแนนเสียง

person CrazyCoder    schedule 24.08.2010
comment
คุณสามารถเสนอแหล่งที่มาสำหรับสิ่งนี้ได้หรือไม่? - person Omer van Kloeten; 24.08.2010
comment
แหล่งที่มาคือนักพัฒนา IDEA ที่ฉันพูดคุยด้วย ฉันได้เพิ่มลิงก์ปัญหาตัวติดตามในการตอบกลับของฉันแล้ว - person CrazyCoder; 24.08.2010
comment
มหัศจรรย์! คุณคาดว่าจะเปิดตัว IDEA 10 เมื่อใด - person Omer van Kloeten; 25.08.2010
comment
IDEA 10 จะออกภายในสิ้นปี 2553 - person CrazyCoder; 25.08.2010

ตอบช้าเพื่อลูกหลานนะครับ

คุณสามารถทำให้การทดสอบ JUnit ทำงานแบบขนาน (หรือแบบอนุกรม) จนถึงระดับรายละเอียดใดๆ ใน IntelliJ ได้โดยการเปลี่ยน Fork mode ในการกำหนดค่าการรันของการทดสอบ

ระวังอย่าสับสนกับตัวเลือก Allow parallel run ซึ่งช่วยให้คุณเริ่มการทดสอบได้หลายครั้งภายใน IDE ของคุณ

หากต้องการระบุความขนานของการทดสอบ JUnit (หรือกลุ่มของการทดสอบ) ใน IntelliJ ให้เปิด Run Configuration สำหรับการทดสอบนั้นและเปลี่ยนการตั้งค่าโหมด Fork หรือการตั้งค่า Allow Parallel Run รูปภาพนี้แสดงถึง IntelliJ IDEA 2018.3.4

person JJ Brown    schedule 16.01.2019
comment
อนุญาตให้เรียกใช้แบบขนานหมายความว่าการกำหนดค่าการรันเดียวกันสามารถเริ่มต้นซ้ำๆ ได้ ในขณะที่เวอร์ชันก่อนหน้ายังคงทำงานอยู่ นี่อาจไม่ใช่สิ่งที่ผู้คนกำลังมองหาเมื่อพวกเขาพยายามให้การทดสอบทำงานไปพร้อมๆ กัน ซึ่งจะทำให้พวกเขาสามารถทำการทดสอบชุดเดียวกันแบบขนานได้ แต่ไม่อนุญาตให้การทดสอบแต่ละรายการทำงานพร้อมกัน - person dan.m was user2321368; 04.12.2019
comment
การตั้งค่าโหมดทางแยกบน Intellij ไม่ส่งผลให้มีการดำเนินการทดสอบพร้อมกัน มันเริ่ม JVM ใหม่สำหรับการทดสอบซึ่งจะเพิ่มเวลาแฝงในการทดสอบ แต่จะล้างหน่วยความจำระหว่างการทดสอบซึ่งอาจเป็นปัญหาสำหรับแอปพลิเคชันที่ใช้คลาสซิงเกิลตันหรือคลาสที่มีอายุยาวนานอื่น ๆ - person Scott Boring; 01.01.2021
comment
ฉันไม่คิดว่าผลลัพธ์นี้จะส่งผลให้เกิดการประมวลผลข้อความแบบขนาน สำหรับฉันแล้ว มันยังทำให้การทดสอบช้าลงถึง 5 เท่าด้วยซ้ำ ฉันคิดว่าโหมด forked มีไว้เพื่อใช้ทำการทดสอบแยกกันใน JVM ที่แตกต่างกัน แต่ไม่ใช่เพื่อเพิ่มความเร็วในการดำเนินการทดสอบ!! - person Nfff3; 31.01.2021

หากคุณใช้ JUnit4 คุณสามารถลองใช้ปลั๊กอินนี้ได้: https://plugins.jetbrains.com/plugin/12959-junit4-parallel-runner

การเรียกใช้การทดสอบแบบขนานนั้นง่ายดายเพียงแค่คลิกบนสามเหลี่ยมสีเขียวถัดจาก a

  • class -› วิธีทดสอบทั้งหมดในคลาสนั้นทำงานแบบขนาน
  • package -› คลาสทั้งหมดในแพ็คเกจทำงานแบบขนาน

อัปเดต: คุณสามารถลองใช้ปลั๊กอินนี้ได้ โดยใช้งานได้กับ JUnit4, JUnit5 และ TestNG: https://plugins.jetbrains.com/plugin/16229-unit-test-parallel-นักวิ่ง

person Csa77    schedule 15.09.2020