Avoid transitive imports to package:analyzer (#2712) Closes https://github.com/dart-lang/sdk/issues/63923 The analyzer package sources dominate the compile time for small tests. Avoid importing the analyzer transitively from `package:test/test.dart`. Move the tests of the `test_api` import restrictions to the integration test directory so it's easier to reuse for tests across the packages. Add a test that `package:test/test.dart` does not transitively import any library under the analyzer package. Use a more narrow import of the parts of the `Platform` library which are needed in the JSON reporter implementation.
Welcome! package:test is the standard testing library for Dart and Flutter. If you have questions about Dart testing, please see the docs for package:test. package:test_api and package:test_core are implementation details and generally not user-facing.
package:checks is a relatively new library for expressing test expectations. It's a more modern version of package:matcher and features a literate API.
| Package | Description | Issues | Version |
|---|---|---|---|
| checks | A framework for checking values against expectations and building custom expectations. | ||
| fake_async | Fake asynchronous events such as timers and microtasks for deterministic testing. | ||
| matcher | Support for specifying test expectations via an extensible Matcher class. Also includes a number of built-in Matcher implementations for common cases. | ||
| test | A full featured library for writing and running Dart tests across platforms. | ||
| test_api | The user facing API for structuring Dart tests and checking expectations. | ||
| test_core | A basic library for writing tests and running them on the VM. | ||
| test_descriptor | An API for defining and verifying files and directory structures. | ||
| test_process | Test processes: starting; validating stdout and stderr; checking exit code. |