group, setUp และ tearDown
จัดระเบียบ tests และใช้ชุดข้อมูลทดสอบร่วมกัน
group, setUp และ tearDown เป็นบทเรียน Dart Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Dart Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Dart Academy มีบทเรียนทั้งหมด 4 บทเรียน
การทดสอบเพิ่มขึ้นอย่างรวดเร็ว
ไม่นานฟีเจอร์หนึ่งก็อาจต้องมีการทดสอบหลายรายการ หากไม่มีโครงสร้าง ไฟล์จะกลายเป็นรายการแบน ๆ ที่กวาดตามองได้ยาก การจัดระเบียบช่วยให้อ่านง่าย 📚
ทำความรู้จัก group
group ใช้รวมการทดสอบที่เกี่ยวข้องกันไว้ภายใต้ป้ายกำกับเดียว ผลลัพธ์จะจัดย่อหน้าเข้าไป จึงทำให้ชุดการทดสอบมีลักษณะเหมือนโครงร่าง
group('Cart', () {
test('starts empty', () { /* ... */ });
});การซ้อนกลุ่ม
กลุ่มสามารถซ้อนกันได้ ตัวเรียกใช้จะเชื่อมชื่อด้วยช่องว่าง ดังนั้นความล้มเหลวจะแสดงเป็น ตะกร้าเพิ่มรายการ ทำให้เข้าใจบริบทได้ทันที
การตั้งค่าซ้ำทำให้เกิดความรบกวน
หากการทดสอบทุกครั้งสร้างออบเจ็กต์เดิมขึ้นใหม่ โค้ดประกอบที่ซ้ำซ้อนจะบดบังจุดประสงค์ การตั้งค่าที่ใช้ร่วมกันควรอยู่ในที่เดียว
ทำความรู้จัก setUp
การเรียกกลับ setUp จะทำงานก่อนการทดสอบแต่ละรายการภายในขอบเขตของมัน ทำให้การทดสอบทุกครั้งเริ่มจากสถานะใหม่ที่เหมือนกัน
late Cart cart;
setUp(() {
cart = Cart();
});สถานะใหม่ทุกครั้ง
เนื่องจาก setUp ทำงานก่อนการทดสอบแต่ละรายการ การทดสอบหนึ่งจึงไม่สามารถส่งต่อสถานะไปยังรายการถัดไปได้ การแยกอิสระทำให้ผลลัพธ์น่าเชื่อถือ
ทำความรู้จัก tearDown
การเรียกกลับ tearDown จะทำงานหลังการทดสอบแต่ละรายการ เหมาะสำหรับปิดไฟล์ ซ็อกเก็ต หรือคืนทรัพยากร
tearDown(() {
cart.dispose();
});ขอบเขตมีความสำคัญ
setUp และ tearDown มีผลกับ กลุ่ม ที่อยู่ภายใน รวมถึงกลุ่มที่ซ้อนอยู่ด้วย ดังนั้นควรวางทั้งสองรายการไว้ในตำแหน่งที่เหมาะสม
รูปแบบการทำงานครั้งเดียว
ต้องการตั้งค่าเพียงครั้งเดียวสำหรับทั้งกลุ่มใช่หรือไม่ ให้ใช้ setUpAll และ tearDownAll กับทรัพยากรที่มีค่าใช้จ่ายสูงและใช้ร่วมกันได้
setUpAll(() => startServer());
tearDownAll(() => stopServer());ลำดับการทำงาน
สำหรับการทดสอบแต่ละรายการ ตัวเรียกใช้จะทำ setUpAll หนึ่งครั้ง จากนั้นทำ setUp การทดสอบ tearDown และสุดท้ายทำ tearDownAll เมื่อจบทั้งหมด
ตั้งค่าอย่างโปร่งใส
ใส่เฉพาะการเตรียมข้อมูลที่ใช้ร่วมกันและไม่มีผลข้างเคียงไว้ใน setUp ส่วนค่าที่เฉพาะกับการทดสอบแต่ละรายการควรอยู่ภายในการทดสอบนั้นเพื่อให้อ่านได้ชัดเจน
ตรวจสอบอย่างรวดเร็ว
การเรียกกลับ setUp ทำงานเมื่อใด
สรุปทบทวน
คุณใช้ group เพื่อจัดระเบียบ ใช้ setUp เพื่อเตรียมสถานะใหม่ และใช้ tearDown เพื่อเก็บกวาดหลังการทดสอบแต่ละรายการ ชุดการทดสอบเป็นระเบียบ ผลลัพธ์น่าเชื่อถือ 🧹
เรียนรู้ Dart ด้วย AI tutor — ฟรี
เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป
- คอร์ส
- 30
- บทเรียน
- 120
คำถามที่พบบ่อย
บทเรียน “group, setUp และ tearDown” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “group, setUp และ tearDown” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Dart Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Dart Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “group, setUp และ tearDown”
จัดระเบียบ tests และใช้ชุดข้อมูลทดสอบร่วมกัน คุณปฏิบัติ Dart Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Dart Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Dart Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน
บทเรียน “group, setUp และ tearDown” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Dart Academy นี้ได้ไหม
ได้ บทเรียน Dart Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- test และ expect แรกของคุณ
- group, setUp และ tearDown
- การทดสอบโค้ดแบบไม่พร้อมกันและสตรีม
- ม็อก ของจำลอง และความครอบคลุม