วิธีใดที่ดีที่สุดในการทดสอบหน่วยที่มีการป้องกันและวิธีการส่วนตัวใน Ruby โดยใช้Test::Unit
กรอบมาตรฐาน Ruby
ฉันแน่ใจว่าจะมีใครสักคนพูดขึ้นและยืนยันโดยดันทุรังว่า "คุณควรทดสอบเฉพาะวิธีการสาธารณะเท่านั้นหากจำเป็นต้องมีการทดสอบหน่วยก็ไม่ควรเป็นวิธีการป้องกันหรือเป็นส่วนตัว" แต่ฉันไม่ได้สนใจที่จะถกเถียงเรื่องนี้จริงๆ ฉันมีวิธีการหลายอย่างที่ได้รับการป้องกันหรือเป็นส่วนตัวด้วยเหตุผลที่ดีและถูกต้องวิธีการส่วนตัว / การป้องกันเหล่านี้มีความซับซ้อนพอสมควรและวิธีการสาธารณะในชั้นเรียนขึ้นอยู่กับวิธีการป้องกัน / ส่วนตัวเหล่านี้ที่ทำงานได้อย่างถูกต้องดังนั้นฉันจึงต้องการวิธีทดสอบ วิธีการป้องกัน / ส่วนตัว
อีกอย่าง ... โดยทั่วไปฉันจะใส่วิธีการทั้งหมดสำหรับคลาสที่กำหนดไว้ในไฟล์เดียวและหน่วยทดสอบสำหรับคลาสนั้นในไฟล์อื่น ตามหลักการแล้วฉันต้องการให้เวทมนตร์ทั้งหมดใช้ฟังก์ชัน "การทดสอบหน่วยของวิธีการป้องกันและวิธีการส่วนตัว" นี้ในไฟล์ทดสอบหน่วยไม่ใช่ไฟล์ต้นฉบับหลักเพื่อให้ไฟล์ต้นฉบับหลักเรียบง่ายและตรงไปตรงมาที่สุด