package:checks_codegen is a companion to package:checks for generating extensions to read fields from subjects under test.
package:checks is still experimental. For production use cases, please use package:test and package:matcher.
For packages in the labs.dart.dev publisher we generally plan to either graduate the package into a supported publisher (dart.dev, tools.dart.dev) after a period of feedback and iteration, or discontinue the package. These packages have a much higher expected rate of API and breaking changes.
To provide feedback on the API, please file an issue with questions, suggestions, feature requests, or general feedback.
Add a dev_dependency on checks_codegen (dart pub add dev:checks_codegen).
Use a ChecksExtensions annotation under test/ to generate a library defining check extensions for listed types. In a shared testing library like test/shared.dart annotate an export of shared.checks.dart. Or In a test suite test/some_test.dart annotate an import to some_test.checks.dart.
Use checks that read fields in your test code:
@CheckExtensions([TypedData]) import 'some_test.checks.dart'; // The `elementSizeInBytes` and `lengthInBytes` extensions are generated. void main() { test('sample test', () { check(typedData) ..elementSizeInBytes.equals(expectedElementSize) ..lengthInBytes.equals(expectedLength); }); }