jaspr_elementary_test

Testing utilities for jaspr_elementary.

Requirements

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

Libraries

jaspr_elementary_test
Testing utilities for package jaspr_elementary.