hrk_flutter_test_batteries 0.8.0 hrk_flutter_test_batteries: ^0.8.0 copied to clipboard
A library to accumulate required flutter test helper and utility codes
A library to accumulate required flutter test helper and utility codes
Features #
getTestType()
simulateAndroidBackButton()
verifySystemNavigatorPop()
disableOverflowError()
HrkWidgetTester
precacheAllImages()
Convenient Helpers #
Getting started #
flutter pub add dev:hrk_flutter_test_batteries
Usage #
import 'package:flutter/widgets.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:hrk_flutter_test_batteries/hrk_flutter_test_batteries.dart';
void main() {
test('$getTestType() Test', () {
// To know whether in Widget Test or Integration Test.
// For commands
// - flutter test
// - flutter test integration_test
// - flutter driver
});
testWidgets('Simulate Android Back Button', (tester) async {
// await tester.pumpWidget(deep-link code);
simulateAndroidBackButton(tester);
// expect(find.byType(HomeScreen), findsOneWidget);
});
testWidgets('Pump app and press back', (tester) async {
// await pumpApp(tester);
await verifySystemNavigatorPop(tester);
// To verify pressing back button, leaves the app
});
testWidgets('tester.getOverflowRenderFlexList()', (tester) async {
disableOverflowError();
tester.view.physicalSize = Size(280, tester.view.physicalSize.height);
addTearDown(() => tester.view.resetPhysicalSize());
// await tester.pumpWidget(widget under test);
final overflowRenderFlexList = tester.getOverflowRenderFlexList();
expect(overflowRenderFlexList.length, 0);
});
testWidgets('tester.expectNoOverflow()', (tester) async {
disableOverflowError();
tester.view.physicalSize = Size(280, tester.view.physicalSize.height);
addTearDown(() => tester.view.resetPhysicalSize());
// await tester.pumpWidget(widget under test);
tester.expectNoOverflow();
});
testWidgets('tester.view.setLogicalSize()', (tester) async {
// Saves atleast 3 lines
// tester.view.physicalSize = Size(280, 653);
// tester.view.devicePixelRatio = 1.0;
// addTearDown(() => tester.view.resetPhysicalSize());
// addTearDown(() => tester.view.resetDevicePixelRatio());
tester.view.setLogicalSize(width: 280, height: 653);
});
}