Cmockery เป็นห้องสมุดที่มีน้ำหนักเบาที่ใช้ในการทดสอบหน่วย C
การทดสอบ Cmockery จะถูกรวบรวมไว้ใน Executables แบบสแตนด์อโลนและเชื่อมโยงกับไลบรารี Cmockery, ห้องสมุด C มาตรฐานและโมดูลที่ถูกทดสอบ สัญลักษณ์ใด ๆ ภายนอกไปยังโมดูลที่กำลังทดสอบควรล้อเลียน - แทนที่ด้วยฟังก์ชั่นที่ส่งคืนค่าที่กำหนดโดยการทดสอบ - ภายในแอปพลิเคชันทดสอบ แม้ว่าความแตกต่างอย่างมีนัยสำคัญอาจมีอยู่ระหว่างสภาพแวดล้อมการดำเนินการเป้าหมายของโมดูลรหัสและสภาพแวดล้อมที่ใช้ในการทดสอบรหัสการทดสอบหน่วยยังคงถูกต้องเนื่องจากเป้าหมายคือการทดสอบตรรกะของโมดูลรหัสในระดับการทำงานและไม่จำเป็นต้องมีการโต้ตอบทั้งหมดกับสภาพแวดล้อมการดำเนินการเป้าหมาย
อาจเป็นไปไม่ได้ที่จะรวบรวมโมดูลลงในแอปพลิเคชันทดสอบโดยไม่มีการดัดแปลง ดังนั้นควรกำหนดสัญลักษณ์ preprocessor UNIT_TESTING เมื่อใช้งานการทดสอบหน่วย Cmockery หน่วยที่รวบรวมไว้ดังนั้นรหัสภายในโมดูลสามารถรวบรวมได้อย่างมีเงื่อนไขสำหรับการทดสอบ
ข้อมูลรายละเอียดเพิ่มเติมเกี่ยวกับกลไกการทดสอบการเขียนด้วย cmockery สามารถพบได้ใน docs/user_guide.md
ในการรวบรวมไลบรารี Cmockery และแอปพลิเคชันตัวอย่างบน Linux ให้เรียกใช้:
$ ./configure
$ make
ในการรวบรวมบน Windows Run:
> vsvars.bat
> cd windows
> nmake
รหัสนี้ได้รับการทดสอบบน Linux (Ubuntu) และ Windows โดยใช้ VC ++ 7 และ VC ++ 8
มีเฟรมเวิร์กการทดสอบหน่วย C ที่หลากหลาย อย่างไรก็ตามหลายคนมีความซับซ้อนพอสมควรและต้องการเทคโนโลยีคอมไพเลอร์ล่าสุด การพัฒนาบางอย่างต้องการการใช้คอมไพเลอร์เก่าซึ่งทำให้ยากที่จะใช้เฟรมเวิร์กการทดสอบหน่วยบางอย่าง นอกจากนี้เฟรมเวิร์กการทดสอบหน่วยจำนวนมากสมมติว่ารหัสที่ถูกทดสอบเป็นแอปพลิเคชันหรือโมดูลที่กำหนดเป้าหมายไปยังแพลตฟอร์มเดียวกันซึ่งจะดำเนินการทดสอบในที่สุด เนื่องจากข้อสันนิษฐานนี้กรอบการทำงานจำนวนมากจึงจำเป็นต้องมีการรวมส่วนหัวของไลบรารี C มาตรฐานในโมดูลรหัสที่ถูกทดสอบซึ่งอาจชนกับการใช้งานที่กำหนดเองหรือไม่สมบูรณ์ของไลบรารี C ที่ใช้โดยรหัสภายใต้การทดสอบ
CMockery ต้องการแอปพลิเคชันทดสอบเท่านั้นที่เชื่อมโยงกับไลบรารี C มาตรฐานซึ่งลดความขัดแย้งกับส่วนหัวของห้องสมุด C มาตรฐาน นอกจากนี้ Cmockery พยายามหลีกเลี่ยงการใช้คุณสมบัติใหม่ของคอมไพเลอร์ C
สิ่งนี้ส่งผลให้ Cmockery เป็นห้องสมุดที่ค่อนข้างเล็กซึ่งสามารถใช้ในการทดสอบรหัสแปลกใหม่ที่หลากหลาย หากนักพัฒนาต้องการทดสอบแอปพลิเคชันด้วยคอมไพเลอร์ล่าสุดเฟรมเวิร์กการทดสอบหน่วยอื่น ๆ อาจจะดีกว่า
หากคุณมีคำถามเกี่ยวกับ cmockery ให้ใช้ทรัพยากรต่อไปนี้:
สแต็คล้น: ใช้แท็ก cmockery
รายชื่อผู้รับจดหมาย: cmockery (at) googlegroups.com (จดหมายเหตุ)
หากต้องการเข้าร่วมกับบัญชี Google ให้ใช้ Web UI; หากต้องการสมัครสมาชิก/ยกเลิกการสมัครด้วยที่อยู่อีเมลโดยพลการส่งอีเมลไปที่:
Cmockery ได้รับใบอนุญาตภายใต้ใบอนุญาต Apache 2.0; โปรดดู LICENSE.txt สำหรับรายละเอียด