تكرار السؤال: …
الإجابة المختصرة
افصل قواعد الحالة عن Widget rendering، ومرّر dependencies عبر constructor أو boundary يمكن استبداله في الاختبار.
الشرح
اختبر transitions من input إلى state output من غير تشغيل شجرة UI كاملة، ثم أضف اختبارات widget قليلة للتكامل. اجعل clock وrepository وnetwork قابلين للحقن بدل globals يصعب عزلها.
أخطاء شائعة
- اختبار implementation الداخلية بدل السلوك المرئي.
- ربط controller مباشرة بـHTTP client حقيقي في unit test.