เมื่อเขียนการทดสอบสำหรับซอฟต์แวร์หนึ่งชิ้นกล่าวว่าห้องสมุดคุณต้องการรวบรวมการทดสอบหน่วยทั้งหมดเป็นหนึ่งหรือแยกพวกมันออกเป็นหลาย ๆ โปรแกรม?
เหตุผลที่ฉันถามคือตอนนี้ฉันใช้CUnitเพื่อทดสอบห้องสมุดที่ฉันทำงานอยู่ การทดสอบจะแบ่งออกเป็นชุดแยกต่างหากที่รวบรวมเป็นหนึ่งปฏิบัติการเสร็จสมบูรณ์ด้วยผลลัพธ์ที่พิมพ์ออกมาสำหรับความล้มเหลว ตอนนี้การสร้างระบบห้องสมุดที่เป็นCMake (ซึ่งแม้จะมีชื่อของมันมีน้อยจะทำอย่างไรกับ Cunit) ซึ่งมาพร้อมกับกรอบการทดสอบของตัวเองCTest CTest อนุญาตให้ฉันลงทะเบียนรายการของไฟล์ปฏิบัติการที่ทำหน้าที่เป็นแบบทดสอบ
ฉันกำลังไตร่ตรองว่าจะใช้ CTest สำหรับการทดสอบอัตโนมัติหรือไม่ อย่างไรก็ตามสิ่งนี้จะทำให้ฉันต้องแยกการทดสอบที่ฉันได้เขียนไว้ในเป้าหมายการคอมไพล์แยกต่างหาก มิฉะนั้นฉันไม่สามารถใช้คุณสมบัติขั้นสูงของ CTests บางอย่างเช่นการทดสอบที่เลือกสรร
ฉันรู้ว่านี่เป็นคำถามเพิ่มเติมเกี่ยวกับเครื่องมือที่ใช้และการจัดการและการประชุมของพวกเขา แต่นอกเหนือจากนั้นมีเหตุผลอื่นอีกหรือไม่ที่จะชอบการทดสอบที่สามารถใช้งานได้มากกว่าการทดสอบแยกต่างหาก? หรือในทางกลับกัน?