🔖 หมวดบทเรียน: การเขียนโค้ดทดสอบอัตโนมัติในแอป Flutter
📌 เหมาะสำหรับ: นักพัฒนาที่ต้องการเพิ่มความน่าเชื่อถือและลดข้อผิดพลาดในแอป
🎯 เป้าหมาย: เข้าใจวิธีเขียน Unit Test เพื่อทดสอบ logic และ function ต่าง ๆ ใน Dart/Flutter
🧭 เกริ่นนำ
การเขียน Unit Test ช่วยให้เราตรวจสอบว่า function ที่เขียนทำงานได้ถูกต้องเมื่อได้รับ input ที่หลากหลาย ลดข้อผิดพลาดระยะยาว และเหมาะมากกับการทำงานเป็นทีม การทดสอบจะเขียนแยกต่างหากจาก UI โดยใช้ test
package ของ Dart
🧪 ติดตั้ง test package (ถ้ายังไม่มี)
dev_dependencies:
test: ^1.25.2
🧪 ตัวอย่างการเขียน Unit Test เบื้องต้น
สร้างไฟล์ math_utils.dart
int add(int a, int b) => a + b;
int subtract(int a, int b) => a - b;
สร้างไฟล์ math_utils_test.dart
import 'package:test/test.dart';
import 'math_utils.dart';
void main() {
group('MathUtils', () {
test('การบวกเลข', () {
expect(add(2, 3), equals(5));
});
test('การลบเลข', () {
expect(subtract(5, 3), equals(2));
});
});
}
▶️ รันการทดสอบ
ใช้คำสั่งใน terminal:
dart test
หากผลลัพธ์ขึ้นว่า All tests passed!
แสดงว่าฟังก์ชันทำงานถูกต้อง
✅ เทคนิคเพิ่มเติม
- ควรแบ่งไฟล์ test ตาม module เช่น auth_test.dart, product_test.dart
- ใช้
setUp()
และtearDown()
หากต้องเตรียมข้อมูลก่อน/หลังการทดสอบ - เขียน test ครอบคลุมทุก case ทั้งปกติและผิดพลาด
✅ สรุป
- Unit Test ช่วยให้โค้ดมีคุณภาพ ป้องกัน regression และมั่นใจในการ deploy
- ใช้ package
test
เพื่อรันโค้ด Dart โดยไม่ต้องใช้ UI - เป็นขั้นตอนพื้นฐานของ TDD (Test Driven Development)
ในบทถัดไปเราจะไปต่อที่ การเขียน Widget Test ซึ่งทดสอบการทำงานของ UI และ interaction ต่าง ๆ