คำถามที่ถามมาหลายครั้งก่อน แต่มีการพัฒนาเอียง twds mvc เฉพาะ
ฉันเป็นเด็กที่ดีมากและได้เขียนโค้ดแอ็คชั่นคอนโทรลเลอร์ทั้งหมดของฉันด้วยการทดสอบหน่วยที่เกี่ยวข้องซึ่งยอดเยี่ยมมาก (ถ้าซ้ำ ๆ [อ่านมาก ๆ ] ในบางครั้ง) ตามจริงแล้วฉันได้สร้างเทมเพลต T4 เล็ก ๆ น้อย ๆ เพื่อเขียนกระดูกเปลือยส่วนใหญ่ของการทดสอบหน่วยเริ่มต้นจากนั้นปรับแต่งตามความเหมาะสมตามการใช้งาน ฉันจะยอมรับว่าไม่แน่ใจว่าจะจัดการกับการทดสอบในมุมมองที่มีบางส่วนได้อย่างไร - แต่นั่นเป็นเรื่องราวสำหรับคำถามอื่น
ตอนนี้ส่วนที่ยากสำหรับฉันที่จะตัดสินใจก็คือความครอบคลุมที่ลึกแค่ไหนในชั้นบริการของฉัน สาเหตุที่วิธีการบริการบางอย่างของฉัน (ดีขึ้นหรือแย่ลง) ดำเนินการกับคำสั่ง linq ที่หลากหลายซึ่งให้ข้อมูลที่รอบคอบกับตรรกะที่ตามมาภายในวิธีการนั้น ฉันรู้ว่าฉันสามารถ (ควร ??) ทำลายวิธีการเหล่านี้ลงไปเท่านั้นเรียกตรรกะที่จำเป็นสำหรับแต่ละคำสั่ง linq แล้วใช้พวกเขาภายในวิธีการ อย่างไรก็ตามในหลาย ๆ กรณีไม่มีการใช้งานซ้ำของฟังก์ชัน 'linq' และดังนั้นจึงรู้สึกว่าการทำเช่นนี้จะทำให้รหัสออกมาในระดับที่ไกลเกินไป
สิ่งที่ฉันถามคือด้วยตรรกะที่ซับซ้อนที่เกิดขึ้นในวิธีการมันเป็น 'ดีพอ' ที่จะมีวิธีการทดสอบที่เพียงแค่อ้างถึงผลลัพธ์ที่ต้องการและ / หรือข้อผิดพลาดที่คาดหวังหรือควรจะทุกบรรทัดตรรกะพร้อมกันและทดสอบด้วย วิธีที่ฉันเห็นการทำการทดสอบอย่างถูกต้องจากนั้นเมธอดตรรกะ (ทีละบรรทัด) ควรได้รับความครอบคลุมบางประเภทเช่นกัน อย่างไรก็ตาม (ในความคิดเห็นที่ไร้เดียงสาของฉัน) อาจนำไปสู่วัฏจักรที่ไม่สิ้นสุดของการพยายามทดสอบและวิธีการที่นำมาใช้อย่างใกล้ชิด (ซึ่งฉันรู้ว่าพวกเขาควรจะเป็น) เพื่อสร้างอุตสาหกรรมกระท่อมในการทดสอบด้วยตนเอง
ฉันรู้ว่าคำถามของฉันอาจทำให้ผู้ที่คลั่งไคล้ TDD บางคนเห็นว่าสิ่งนี้เป็นเกมง่ายๆ ไม่ได้อยู่ในค่าย TDD นี่คือ 'ใช่เกมง่ายๆ' สำหรับฉันดังนั้นคำถาม
btw - ตรวจสอบความคิดนี้แล้ว:
มอง fwd เพื่อ downvotes คงที่ตอนนี้ :)
[แก้ไข] - เพื่อประโยชน์ของซิงเกิ้ล (ดีในช่วงเวลาเดียว !!) 'ปิด' ผู้มีสิทธิเลือกตั้ง คำถามนี้ไม่ใช่เรื่องส่วนตัว ฉันกำลังมองหาข้อสรุปในเรื่องที่เน้นมาก ฉันไม่ได้พยายามที่จะกระตุ้นความสนใจเชิงลบฉันไม่ต้องการเปิดเผยข้อบกพร่องในเทคโนโลยี - ฉันเป็นแฟนตัวยง ดังนั้นโปรดทิ้งความคิดเห็นที่สุภาพเพื่อผลประโยชน์ของฉันหากการลงคะแนนปิดเนื่องจากอาจช่วยให้ฉันปรับโครงสร้างคำถามหากมีความคลุมเครือหรือข้อมูลที่ผิด คำถามนี้จะเป็นประโยชน์ต่อประชากร mvc จำนวนมาก
ขอบคุณ!!
จิม