Flutter मोबाइल विकास · पाठ

यूनिट टेस्टिंग और मॉकिंग

अपने Flutter व्यावसायिक तर्क के लिए तेज़, स्वतंत्र यूनिट टेस्ट लिखिए और सेवाओं तथा API पर निर्भर कोड को जाँचने के लिए मॉक का उपयोग कीजिए।

पाठ 4, कुल 4 में से13 चरण

यूनिट टेस्टिंग और मॉकिंग, CoddyKit पर Flutter मोबाइल विकास का एक निःशुल्क पाठ है। यह 4 में से 4वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह Flutter मोबाइल विकास सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Flutter मोबाइल विकास पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

Testing Pyramid

आप widget और integration tests देख चुके हैं। सबसे नीचे सबसे तेज़ परत होती है: unit tests, जो किसी एक फ़ंक्शन या क्लास को अलगाव में जाँचती हैं।

  • कई unit tests (तेज़)
  • कम widget tests
  • और भी कम integration tests (धीमे)

Unit Test की संरचना

Unit test में test() और expect(), test पैकेज से लिए जाते हैं।

import 'package:test/test.dart';

void main() {
  test('adds two numbers', () {
    expect(2 + 3, equals(5));
  });
}

किसी क्लास का परीक्षण

जिस क्लास का परीक्षण करना है उसका इंस्टेंस बनाएँ और उसके व्यवहार पर assertion करें।

test('counter increments', () {
  final counter = Counter();
  counter.increment();
  expect(counter.value, 1);
});

Matchers

Matchers अपेक्षाओं को स्पष्ट रूप से व्यक्त करते हैं।

  • equals(x)
  • isTrue / isNull
  • throwsException
  • contains(x)
expect(list, contains('apple'));
expect(() => parse('bad'), throwsFormatException);

Tests को समूहित करना

संबंधित tests को व्यवस्थित करने और सेटअप साझा करने के लिए group() का उपयोग करें।

group('Cart', () {
  test('starts empty', () { ... });
  test('adds items', () { ... });
});

setUp और tearDown

setUp हर test से पहले चलता है; tearDown उसके बाद चलता है — नए fixtures के लिए यह बिल्कुल उपयुक्त है।

late Cart cart;
setUp(() => cart = Cart());
tearDown(() => cart.clear());

निर्भरताओं की समस्या

यदि आपकी क्लास किसी वास्तविक API या डेटाबेस को कॉल करती हो तो क्या होगा? Tests धीमे और अस्थिर हो जाएँगे। समाधान है mocking — निर्भरताओं को आपके नियंत्रण वाले नकली घटकों से बदलना।

Mockito सेटअप

mockito और build_runner जोड़ें, फिर mocks बनाने के लिए annotation लगाएँ।

@GenerateMocks([ApiService])
void main() {}
// flutter pub run build_runner build

विधियों के व्यवहार को निर्धारित करना

Mock क्या लौटाएगा, यह तय करने के लिए when(...).thenReturn(...) का उपयोग करें।

final mockApi = MockApiService();
when(mockApi.fetchUser()).thenAnswer((_) async => User('Ada'));

इंटरैक्शन की जाँच

verify पुष्टि करता है कि किसी विधि को अपेक्षित संख्या में कॉल किया गया था।

await repository.loadUser();
verify(mockApi.fetchUser()).called(1);

एसिंक्रोनस कोड का परीक्षण

Test body को async चिह्नित करें और futures पर await लगाएँ, या completes matcher का उपयोग करें।

test('loads data', () async {
  final result = await repo.load();
  expect(result, isNotEmpty);
});

त्वरित जाँच

Unit test में mock का उपयोग क्यों करेंगे?

पुनरावलोकन

आपने unit testing और mocking सीखी:

  • test/expect/matchers और group/setUp
  • Mocks बनाने के लिए Mockito
  • when().thenReturn और verify().called
  • एसिंक्रोनस कोड का परीक्षण

Unit tests आपके व्यावसायिक लॉजिक पर तेज़ भरोसा देते हैं।

शुरुआत निःशुल्क

एआई शिक्षक के साथ Dart सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
22
पाठ
88

अक्सर पूछे जाने वाले प्रश्न

क्या “यूनिट टेस्टिंग और मॉकिंग” पाठ निःशुल्क है?

हाँ — Flutter मोबाइल विकास अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “यूनिट टेस्टिंग और मॉकिंग” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। Flutter मोबाइल विकास पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“यूनिट टेस्टिंग और मॉकिंग” में मैं क्या सीखूँगा?

अपने Flutter व्यावसायिक तर्क के लिए तेज़, स्वतंत्र यूनिट टेस्ट लिखिए और सेवाओं तथा API पर निर्भर कोड को जाँचने के लिए मॉक का उपयोग कीजिए। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Flutter मोबाइल विकास का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Flutter मोबाइल विकास शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Flutter मोबाइल विकास शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 4वाँ पाठ है।

“यूनिट टेस्टिंग और मॉकिंग” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस Flutter मोबाइल विकास पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर Flutter मोबाइल विकास पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. विजेट परीक्षण के सिद्धांत
  2. एकीकरण परीक्षण
  3. डीबगिंग उपकरण और तकनीकें
  4. यूनिट टेस्टिंग और मॉकिंग
← Flutter मोबाइल विकास पर वापस जाएँ