ไม่สามารถประกาศวิธีทดสอบการทดสอบหน่วยในไฟล์ .h ได้หรือไม่

ไม่สามารถประกาศวิธีทดสอบการทดสอบหน่วยในไฟล์ .h ได้หรือไม่

หากการทดสอบหน่วยไม่สามารถทำได้ ฉันควรประกาศวิธีการทั้งหมดในไฟล์ .h เพื่อการทดสอบหน่วยหรือไม่ สิ่งนี้ไม่ได้ผลหรือคุ้มค่าหรือไม่?


person user3178926    schedule 01.04.2014    source แหล่งที่มา
comment
มีคำถามมากมายเกี่ยวกับวิธีการทดสอบหน่วยส่วนตัวพร้อมคำตอบ stackoverflow.com/search?q=unit+testing+private +วิธีการ   -  person BergQuester    schedule 01.04.2014


คำตอบ (1)


สิ่งที่ฉันทำเมื่อต้องการทดสอบสิ่งที่จะเป็นวิธีการส่วนตัว คือการกำหนดหมวดหมู่ด้วยคำจำกัดความของวิธีการสำหรับการทดสอบ โดยการวางหมวดหมู่ในไฟล์แยกต่างหาก คุณจะรักษาลักษณะที่ปรากฏของวิธีการส่วนตัวไว้ คุณยังคงสามารถนำไปใช้งานในไฟล์ .m หลักได้ โดยไม่จำเป็นต้องทำอะไรที่แตกต่างออกไป

มีวิธีอื่นในการจัดการกับมัน เช่น การใส่มันไว้ในไฟล์ .h หลัก หรือการกำหนดหมวดหมู่ในการใช้งานการทดสอบด้วยตนเอง แต่อย่างน้อยพวกมันทั้งหมดก็ดูสกปรกสำหรับฉันนิดหน่อย ฉันชอบไฟล์อินเทอร์เฟซของฉันมากที่สะท้อนถึงอินเทอร์เฟซสาธารณะและรักษาความเป็นส่วนตัวของฉัน

person David Berry    schedule 01.04.2014
comment
ฉันจะลงคะแนนนี้ ฉันชอบที่จะมีหมวดหมู่ชื่อ Private ในทุกชั้นเรียนของฉัน ซึ่งเรียกว่าวิธีการส่วนตัวในการทดสอบ อย่างไรก็ตาม น่าสังเกตว่าฉันไม่เคยทดสอบวิธีการส่วนตัวเลย ฉันทดสอบวิธีการสาธารณะสำหรับพฤติกรรมที่ได้รับการบันทึกไว้ และเรียกวิธีการส่วนตัวตามที่จำเป็นเพื่อทำเช่นนั้น - person Ryan Poolos; 01.04.2014
comment
@RyanPoolos นั่นอาจเป็นวิธีที่ดีกว่าในการระบุ - person David Berry; 01.04.2014