คำถามติดแท็ก tdd

Test-Driven Development (TDD) เกี่ยวข้องกับการเขียนการทดสอบอัตโนมัติที่ล้มเหลวเพื่อระบุสิ่งที่จะสร้าง จากนั้นทำการทดสอบให้ผ่านโดยการเขียนโค้ดที่ตรงตามเงื่อนไขที่ทดสอบ ในที่สุดโค้ดจะถูก refactored

18
การทดสอบหน่วยที่ดีคืออะไร? [ปิด]
ตามที่กล่าวมาในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบถาม & ตอบของเรา เราคาดหวังว่าคำตอบจะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจก่อให้เกิดการถกเถียงโต้แย้งการสำรวจความคิดเห็นหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงได้และอาจเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อรับคำแนะนำ ปิดให้บริการใน9 ปีที่ผ่านมา ล็อค คำถามนี้และคำตอบถูกล็อกเนื่องจากคำถามไม่ตรงประเด็น แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ยังไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ ฉันแน่ใจว่าพวกคุณส่วนใหญ่กำลังเขียนการทดสอบอัตโนมัติจำนวนมากและคุณได้พบกับข้อผิดพลาดทั่วไปบางอย่างเมื่อทำการทดสอบหน่วย คำถามของฉันคือคุณปฏิบัติตามกฎระเบียบการสอบข้อเขียนเพื่อหลีกเลี่ยงปัญหาในอนาคตหรือไม่? เพื่อให้เจาะจงมากขึ้น: อะไรคือคุณสมบัติของการทดสอบหน่วยที่ดีหรือคุณเขียนแบบทดสอบของคุณอย่างไร? ขอแนะนำให้ใช้ภาษาที่ไม่เชื่อเรื่องพระเจ้า

17
คุณทดสอบหน่วยการทดสอบหน่วยอย่างไร [ปิด]
ปิด . คำถามนี้เป็นคำถามความคิดเห็นตาม ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบได้ด้วยข้อเท็จจริงและการอ้างอิงโดยแก้ไขโพสต์นี้ ปิดให้บริการใน3 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันกำลังดูการออกอากาศทางเว็บของ Rob Connerys บนแอป MVCStoreFront และฉันสังเกตเห็นว่าเขากำลังทดสอบหน่วยแม้กระทั่งสิ่งที่ธรรมดาที่สุดเช่น: public Decimal DiscountPrice { get { return this.Price - this.Discount; } } จะมีการทดสอบเช่น: [TestMethod] public void Test_DiscountPrice { Product p = new Product(); p.Price = 100; p.Discount = 20; Assert.IsEqual(p.DiscountPrice,80); } ในขณะที่ฉันทุกคนกำลังทดสอบหน่วย แต่บางครั้งฉันก็สงสัยว่ารูปแบบของการทดสอบการพัฒนาครั้งแรกนี้มีประโยชน์จริงๆหรือไม่เช่นในกระบวนการจริงคุณมี 3-4 ชั้นเหนือรหัสของคุณ …
89 tdd  agile  test-first 

17
การทดสอบหน่วยของคุณลึกแค่ไหน?
ล็อค คำถามนี้และคำตอบถูกล็อกเนื่องจากคำถามไม่ตรงประเด็น แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ยังไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ สิ่งที่ฉันพบเกี่ยวกับ TDD ก็คือต้องใช้เวลาในการตั้งค่าการทดสอบของคุณและฉันมักจะขี้เกียจเขียนโค้ดให้น้อยที่สุด สิ่งแรกที่ฉันทำคือทดสอบตัวสร้างของฉันได้ตั้งค่าคุณสมบัติทั้งหมดแล้ว แต่นี่เกินความสามารถหรือไม่ คำถามของฉันคือคุณเขียนแบบทดสอบหน่วยให้ละเอียดระดับใด .. และมีกรณีทดสอบมากเกินไปหรือไม่?
88 unit-testing  tdd 

7
แนวทางปฏิบัติที่ดีที่สุดของการพัฒนาแบบทดสอบโดยใช้ C # และ RhinoMocks [ปิด]
ตามที่กล่าวมาในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบถาม & ตอบของเรา เราคาดหวังว่าคำตอบจะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจก่อให้เกิดการถกเถียงโต้แย้งการสำรวจความคิดเห็นหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงได้และอาจเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อรับคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา เพื่อช่วยทีมของฉันเขียนโค้ดที่สามารถทดสอบได้ฉันจึงได้จัดทำรายการแนวทางปฏิบัติที่ดีที่สุดง่ายๆนี้เพื่อทำให้ฐานรหัส C # ของเราสามารถทดสอบได้มากขึ้น (บางประเด็นอ้างถึงข้อ จำกัด ของ Rhino Mocks ซึ่งเป็นกรอบการเยาะเย้ยสำหรับ C # แต่กฎอาจมีผลบังคับใช้มากขึ้นเช่นกัน) ใครมีแนวทางปฏิบัติที่ดีที่สุดที่พวกเขาปฏิบัติตามหรือไม่? ในการเพิ่มความสามารถในการทดสอบโค้ดให้ปฏิบัติตามกฎเหล่านี้: เขียนแบบทดสอบก่อนแล้วจึงเขียนโค้ด เหตุผล: เพื่อให้แน่ใจว่าคุณเขียนโค้ดที่ทดสอบได้และโค้ดทุกบรรทัดจะได้รับการทดสอบที่เขียนขึ้น ออกแบบคลาสโดยใช้การฉีดแบบพึ่งพา เหตุผล: คุณไม่สามารถล้อเลียนหรือทดสอบสิ่งที่มองไม่เห็นได้ แยกโค้ด UI ออกจากพฤติกรรมโดยใช้ Model-View-Controller หรือ Model-View-Presenter เหตุผล: อนุญาตให้ทดสอบตรรกะทางธุรกิจในขณะที่ย่อส่วนที่ไม่สามารถทดสอบได้ (UI) อย่าเขียนวิธีการหรือคลาสแบบคงที่ เหตุผล: วิธีการคงที่เป็นเรื่องยากหรือเป็นไปไม่ได้ที่จะแยกออกและ Rhino Mocks ไม่สามารถล้อเลียนได้ โปรแกรมปิดอินเทอร์เฟซไม่ใช่คลาส เหตุผล: การใช้อินเทอร์เฟซจะชี้แจงความสัมพันธ์ระหว่างวัตถุ อินเทอร์เฟซควรกำหนดเซอร์วิสที่อ็อบเจ็กต์ต้องการจากสภาพแวดล้อม นอกจากนี้อินเทอร์เฟซสามารถล้อเลียนได้อย่างง่ายดายโดยใช้ Rhino …

4
ไวยากรณ์ที่คาดไว้สำหรับการตรวจสอบข้อความยกเว้นใน assert_raises / must_raise ของ MiniTest คืออะไร
ไวยากรณ์ที่คาดหวังสำหรับการตรวจสอบข้อความข้อยกเว้นใน MiniTest's assert_raises/ must_raiseคืออะไร? ฉันกำลังพยายามยืนยันสิ่งต่อไปนี้โดยที่"Foo"ข้อความแสดงข้อผิดพลาดที่คาดไว้: proc { bar.do_it }.must_raise RuntimeError.new("Foo")
87 ruby  tdd  minitest  assertion 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.