Skip to content

Commit 89deb9b

Browse files
authored
Merge pull request #1139 from motasimfuad/flutter/testing
Add Flutter Testing section to cheatsheet
2 parents 0d05a9b + b1fc969 commit 89deb9b

1 file changed

Lines changed: 61 additions & 0 deletions

File tree

data/flutter.json

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -302,6 +302,67 @@
302302
}
303303
]
304304
},
305+
{
306+
"title": "Flutter টেস্টিং (Flutter Testing)",
307+
"items": [
308+
{
309+
"definition": "ফ্লাটারে ৩ ধরনের টেস্ট রান করা যায়",
310+
"code": "১. ইউনিট টেস্ট (Unit Test)\n২. উইজেট টেস্ট (Widget Test)\n৩. ইন্টিগ্রেশন টেস্ট (Integration Test)"
311+
},
312+
{
313+
"definition": "Unit Test কি?",
314+
"code": "কোনো একটা ফাংশন, মেথড বা ক্লাস টেস্ট করার জন্য ইউনিট টেস্ট ব্যবহার করা হয়।"
315+
},
316+
{
317+
"definition": "Widget Test কি?",
318+
"code": "উইজেট টেস্টিং হলো নির্দিষ্ট উইজেট বা উইজেটের কোনো পার্ট টেস্ট করা।"
319+
},
320+
{
321+
"definition": "Integration Test কি?",
322+
"code": "ইন্টিগ্রেশন টেস্টিং এর মাধ্যমে একটি এপের কমপ্লিট ফাংশনালিটি টেস্ট করা হয়। একে এন্ড টু এন্ড টেস্টও বলা হয়।"
323+
},
324+
{
325+
"definition": "টেস্টিং রিলেটেড প্যাকেজ যোগ করতে -",
326+
"code": "dev_dependencies:\n flutter_test:\n sdk: flutter\n integration_test:\n sdk: flutter\n mockito: ^5.0.0"
327+
},
328+
{
329+
"definition": "ইউনিট টেস্ট রান করতে -",
330+
"code": "flutter test test/unit_test.dart"
331+
},
332+
{
333+
"definition": "উইজেট টেস্ট রান করতে -",
334+
"code": "flutter test test/widget_test.dart"
335+
},
336+
{
337+
"definition": "ইন্টিগ্রেশন টেস্ট রান করতে -",
338+
"code": "flutter test integration_test/app_test.dart"
339+
},
340+
{
341+
"definition": "সকল টেস্ট রান করতে -",
342+
"code": "flutter test"
343+
},
344+
{
345+
"definition": "ইউনিট টেস্ট উদাহরণ",
346+
"code": "void main() {\n test('String.split() splits the string on the delimiter', () {\n var string = 'foo,bar,baz';\n expect(string.split(','), equals(['foo', 'bar', 'baz']));\n });\n}"
347+
},
348+
{
349+
"definition": "উইজেট টেস্ট উদাহরণ",
350+
"code": "void main() {\n testWidgets('MyWidget has a title and message', (WidgetTester tester) async {\n await tester.pumpWidget(MyWidget(title: 'T', message: 'M'));\n final titleFinder = find.text('T');\n final messageFinder = find.text('M');\n expect(titleFinder, findsOneWidget);\n expect(messageFinder, findsOneWidget);\n });\n}"
351+
},
352+
{
353+
"definition": "ইন্টিগ্রেশন টেস্ট উদাহরণ",
354+
"code": "void main() {\n IntegrationTestWidgetsFlutterBinding.ensureInitialized();\n testWidgets('tap on the floating action button, verify counter',\n (WidgetTester tester) async {\n app.main();\n await tester.pumpAndSettle();\n expect(find.text('0'), findsOneWidget);\n final Finder fab = find.byTooltip('Increment');\n await tester.tap(fab);\n await tester.pumpAndSettle();\n expect(find.text('1'), findsOneWidget);\n });\n}"
355+
},
356+
{
357+
"definition": "মক অবজেক্ট তৈরি করেন (Mockito ব্যবহার করে)",
358+
"code": "import 'package:mockito/mockito.dart';\n\nclass MockYourClass extends Mock implements YourClass {}\n\nvoid main() {\n final mock = MockYourClass();\n when(mock.someMethod()).thenReturn('mocked value');\n}"
359+
},
360+
{
361+
"definition": "টেস্ট কভারেজ রিপোর্ট জেনারেট করেন",
362+
"code": "flutter test --coverage\n# কভারেজ রিপোর্ট coverage/lcov.info ফাইলে জেনারেট হবে\n# HTML রিপোর্ট জেনারেট করতে lcov ইনস্টল করেন এবং নিচের কমান্ড চালান:\n# genhtml coverage/lcov.info -o coverage/html"
363+
}
364+
]
365+
},
305366
{
306367
"title": "কিছু ইম্পরট্যান্ট ফ্লাটার শীট",
307368
"items": [

0 commit comments

Comments
 (0)