Dart Academy · บทเรียน

group, setUp และ tearDown

จัดระเบียบ tests และใช้ชุดข้อมูลทดสอบร่วมกัน

บทเรียน 2 จาก 413 ขั้นตอน

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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. test และ expect แรกของคุณ
  2. group, setUp และ tearDown
  3. การทดสอบโค้ดแบบไม่พร้อมกันและสตรีม
  4. ม็อก ของจำลอง และความครอบคลุม
← กลับไปที่ Dart Academy