jaspr_elementary_test 0.3.0
jaspr_elementary_test: ^0.3.0 copied to clipboard
Testing utilities for jaspr_elementary: ComponentModel lifecycle helpers and related test infrastructure.
jaspr_elementary_test #
Testing utilities for jaspr_elementary.
Requirements #
- Dart
^3.12.0 jaspr_elementary^0.4.0jaspr^0.23.x(pulled in transitively; must stay compatible withjaspr_test)
Installation #
dev_dependencies:
jaspr_elementary_test: ^0.3.0
# test is re-exported by jaspr_test; you may add package:test explicitly if you prefer
testComponentModel #
Runs a test with a fresh ComponentModel, a ComponentModelTester, and a real BuildContext from a short-lived Jaspr subtree. This mirrors Flutter Elementary’s testWidgetModel from package elementary_test.
import 'package:jaspr_elementary_test/jaspr_elementary_test.dart';
testComponentModel<MyCm, MyComponent, MyModel>(
'loads data',
() => MyCm(MyModel()),
(cm, tester, context) async {
tester.init(initComponent: MyComponent());
// use context / cm …
tester.unmount();
},
);
Call ComponentModelTester.unmount when finished so the model is disposed. If init used a null initComponent, do not call update afterward.
Development (monorepo) #
This package lives next to jaspr_elementary in the repository.
For a local path dependency on jaspr_elementary, add pubspec_overrides.yaml (gitignored in this repo):
dependency_overrides:
jaspr_elementary:
path: ../jaspr_elementary
cd packages/jaspr_elementary_test
dart pub get
dart analyze
dart test
Publishing #
Publish jaspr_elementary satisfying the jaspr_elementary constraint in pubspec.yaml before publishing this package.
dart pub publish --dry-run
dart pub publish