Skip to content

Commit b1fc969

Browse files
committed
Add Flutter Testing section to cheatsheet
1 parent 2887e35 commit b1fc969

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
@@ -282,6 +282,67 @@
282282
}
283283
]
284284
},
285+
{
286+
"title": "Flutter টেস্টিং (Flutter Testing)",
287+
"items": [
288+
{
289+
"definition": "ফ্লাটারে ৩ ধরনের টেস্ট রান করা যায়",
290+
"code": "১. ইউনিট টেস্ট (Unit Test)\n২. উইজেট টেস্ট (Widget Test)\n৩. ইন্টিগ্রেশন টেস্ট (Integration Test)"
291+
},
292+
{
293+
"definition": "Unit Test কি?",
294+
"code": "কোনো একটা ফাংশন, মেথড বা ক্লাস টেস্ট করার জন্য ইউনিট টেস্ট ব্যবহার করা হয়।"
295+
},
296+
{
297+
"definition": "Widget Test কি?",
298+
"code": "উইজেট টেস্টিং হলো নির্দিষ্ট উইজেট বা উইজেটের কোনো পার্ট টেস্ট করা।"
299+
},
300+
{
301+
"definition": "Integration Test কি?",
302+
"code": "ইন্টিগ্রেশন টেস্টিং এর মাধ্যমে একটি এপের কমপ্লিট ফাংশনালিটি টেস্ট করা হয়। একে এন্ড টু এন্ড টেস্টও বলা হয়।"
303+
},
304+
{
305+
"definition": "টেস্টিং রিলেটেড প্যাকেজ যোগ করতে -",
306+
"code": "dev_dependencies:\n flutter_test:\n sdk: flutter\n integration_test:\n sdk: flutter\n mockito: ^5.0.0"
307+
},
308+
{
309+
"definition": "ইউনিট টেস্ট রান করতে -",
310+
"code": "flutter test test/unit_test.dart"
311+
},
312+
{
313+
"definition": "উইজেট টেস্ট রান করতে -",
314+
"code": "flutter test test/widget_test.dart"
315+
},
316+
{
317+
"definition": "ইন্টিগ্রেশন টেস্ট রান করতে -",
318+
"code": "flutter test integration_test/app_test.dart"
319+
},
320+
{
321+
"definition": "সকল টেস্ট রান করতে -",
322+
"code": "flutter test"
323+
},
324+
{
325+
"definition": "ইউনিট টেস্ট উদাহরণ",
326+
"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}"
327+
},
328+
{
329+
"definition": "উইজেট টেস্ট উদাহরণ",
330+
"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}"
331+
},
332+
{
333+
"definition": "ইন্টিগ্রেশন টেস্ট উদাহরণ",
334+
"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}"
335+
},
336+
{
337+
"definition": "মক অবজেক্ট তৈরি করেন (Mockito ব্যবহার করে)",
338+
"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}"
339+
},
340+
{
341+
"definition": "টেস্ট কভারেজ রিপোর্ট জেনারেট করেন",
342+
"code": "flutter test --coverage\n# কভারেজ রিপোর্ট coverage/lcov.info ফাইলে জেনারেট হবে\n# HTML রিপোর্ট জেনারেট করতে lcov ইনস্টল করেন এবং নিচের কমান্ড চালান:\n# genhtml coverage/lcov.info -o coverage/html"
343+
}
344+
]
345+
},
285346
{
286347
"title": "কিছু ইম্পরট্যান্ট ফ্লাটার শীট",
287348
"items": [

0 commit comments

Comments
 (0)