अपवाद फेंकने वाले विजेट के निर्माण के लिए परीक्षण करने का कोई तरीका है।

मैंने इसे testWidgets में आजमाया लेकिन यह त्रुटि को नहीं पहचानता।

expectLater(() async {
  await tester.pumpWidget(...);
}, throwsException);
2
S.D. 12 नवम्बर 2018, 09:55

1 उत्तर

सबसे बढ़िया उत्तर

आप केवल अपने कोड द्वारा बुलाए गए कोड द्वारा फेंके गए अपवादों को पकड़ सकते हैं।
build() स्पंदन ढांचे द्वारा लागू किया जाता है और इसलिए त्रुटियां वहां आती हैं।

आप अपने परीक्षण में ऐसे अपवादों के लिए एक कस्टम त्रुटि हैंडलर पंजीकृत कर सकते हैं

final errorHandled = expectAsync0((){});

FlutterError.onError = (errorDetails) {
  // handle error
  errorHandled();
});

इस प्रकार परीक्षण विफल हो जाएगा यदि errorHandled को परीक्षण समय समाप्त होने से पहले नहीं बुलाया जाता है।

https://docs.flutter.io/flutter/foundation/FlutterError-class.html

2
Günter Zöchbauer 12 नवम्बर 2018, 06:59