เว้นแต่คุณจะเขียนโค้ดโดยไม่ทำการทดสอบคุณจะต้องเสียค่าใช้จ่ายในการทดสอบเสมอ
ความแตกต่างระหว่างการมีการทดสอบหน่วยและไม่มีพวกเขาคือความแตกต่างระหว่างค่าใช้จ่ายในการเขียนการทดสอบและค่าใช้จ่ายของการทดสอบเมื่อเทียบกับค่าใช้จ่ายในการทดสอบด้วยมือ
หากค่าใช้จ่ายในการเขียนการทดสอบหน่วยเป็น 2 นาทีและค่าใช้จ่ายของการทดสอบหน่วยเป็นจริง 0 แต่ค่าใช้จ่ายของการทดสอบรหัสด้วยตนเองคือ 1 นาทีจากนั้นคุณทำลายแม้ว่าคุณจะรันการทดสอบสองครั้ง
เป็นเวลาหลายปีที่ฉันอยู่ภายใต้การเข้าใจผิดที่ฉันไม่มีเวลาพอที่จะเขียนการทดสอบหน่วยสำหรับโค้ดของฉัน เมื่อฉันเขียนข้อสอบพวกเขาป่องๆสิ่งที่หนักซึ่งกระตุ้นให้ฉันคิดว่าฉันควรจะเขียนบททดสอบเมื่อฉันรู้ว่าพวกเขาต้องการเท่านั้น
เมื่อเร็ว ๆ นี้ฉันได้รับการสนับสนุนให้ใช้การพัฒนาระบบขับเคลื่อนทดสอบและฉันพบว่าเป็นการเปิดเผยที่สมบูรณ์ ตอนนี้ผมเชื่อมั่นว่าผมไม่ได้มีเวลาที่ไม่ได้ที่จะเขียนการทดสอบหน่วย
จากประสบการณ์ของผมโดยการพัฒนากับการทดสอบในใจคุณท้ายด้วยอินเตอร์เฟซที่สะอาดชั้นเรียนเน้นมากขึ้นและโมดูลและโดยทั่วไปมากขึ้นSOLIDรหัสทดสอบ
ทุกครั้งที่ฉันทำงานกับรหัสดั้งเดิมซึ่งไม่มีการทดสอบหน่วยและฉันต้องทดสอบด้วยตนเองฉันคิดอยู่เสมอว่า "นี่จะเร็วกว่านี้มากถ้ารหัสนี้มีการทดสอบหน่วยอยู่แล้ว" ทุกครั้งที่ฉันต้องลองและเพิ่มฟังก์ชั่นการทดสอบหน่วยในการเขียนโค้ดด้วยการมีเพศสัมพันธ์สูงฉันคิดอยู่เสมอว่า
TL; DRเวอร์ชัน:
เขียนการทดสอบเมื่อค่าใช้จ่ายในการเขียนการทดสอบรวมทั้งค่าใช้จ่ายในการทดสอบหลาย ๆ ครั้งตามที่คุณต้องการมีแนวโน้มที่จะน้อยกว่าค่าใช้จ่ายในการทดสอบด้วยตนเองหลายครั้งเท่าที่คุณต้องการ
โปรดจำไว้ว่าถ้าคุณใช้ TDD ค่าใช้จ่ายในการเขียนการทดสอบมีแนวโน้มที่จะลดลงเมื่อคุณดีขึ้นและถ้ารหัสนั้นไม่สำคัญคุณอาจจะต้องทำการทดสอบบ่อยกว่าที่คุณคาดไว้