getx_test 1.0.1
getx_test: ^1.0.1 copied to clipboard
A package that facilitates the creation of tests for applications built with GetX
Getx Test #
========
getx_test
is a package that provides testing utilities for GetX, a powerful state management library for Flutter.
Based onget_test library.
Installation #
Add the following dependency to your pubspec.yaml
file:
dependencies: getx_test: ^1.0.1
Usage #
Import the required packages and create a test case using the getTest
method. Inside the widgetTest
callback, use the expect
method to test your GetX app's behavior.
`import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:get/get.dart'; import 'package:getx_test/getx_test.dart';
void main() { getTest( "test description", widgetTest: (tester) async { expect('/', Get.currentRoute);
Get.to(Container());
expect('/Container', Get.currentRoute);
Get.to(Scaffold());
expect('/Scaffold', Get.currentRoute);
Get.back();
expect('/Container', Get.currentRoute);
},
); }`
You can also use testGetX
, testGetBuilder
, and testObx
to test specific GetX widgets:
testGetX( 'GetX test', widget: GetX<Controller>( init: Controller(), builder: (controller) { return Text("ban:${controller.count}"); }, ), test: (e) { expect(find.text("ban:0"), findsOneWidget); expect(e.count.value, 0); }, );
testGetBuilder( 'GetBuilder test', widget: GetBuilder<Controller>( init: Controller(), builder: (controller) { return Text("ban:${controller.count}"); }, ), test: (e) { expect(find.text("ban:0"), findsOneWidget); expect(e.count.value, 0); }, );
testObx( 'Obx test', widget: (controller) => Obx( () => Text("ban:${controller.count}"), ), controller: Controller(), test: (e) { expect(find.text("ban:0"), findsOneWidget); expect(e.count.value, 0); }, );
Finally, you can test your GetxController
instances with testController
:
testController<Controller>( 'Controller test', (controller) {}, controller: Controller(), onInit: (c) { c.increment(); print('onInit'); }, onReady: (c) { print('onReady'); c.increment(); }, onClose: (c) { print('onClose'); }, );
Examples #
For more examples of how to use get_test
, check out the official example repository or the official documentation.
Conclusion #
get_test
is a great tool for testing GetX applications in Flutter. With this package, you can easily test your widgets, controllers, and routes to make sure your app works as expected.