NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #32 most downloaded on pub.dev
A full featured library for writing and running Dart tests across platforms.
Last release 1 months ago
02 Sep 2026
Ships fairly regularly
a new release about every 2 months
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
12 years old
288 releases · first in 2015
Precompiled browser tests: stop serving files from outside the precompiled root directory. The static handler no longer sets serveFilesOutsidePath , r
serveFilesOutsidePath,TestFailure from package:test/scaffolding.dart.--compiler cli with the vm-asan, vm-msan, and vm-tsanDART_TEST_REPORTER environment variable in test runner anddart:io. Thedart_test.yaml--reporter flag when passed to the test runner.Passing tests groupGithubReporter.exe compiler.CHROME_EXECUTABLE, MS_EDGE_EXECUTABLE, FIREFOX_EXECUTABLE, andSAFARI_EXECUTABLE overrides working when the browser is also configuredoverride_platforms or define_platforms. Any setting on thoseexe compiler.One column per quarter.
Add support for running tests as native CLI bundles (vm platform only).
--compiler cli.'windows' would previously still run browser tests on3.x.x.analyzer: '>=13.0.0 <15.0.0'Ignore an error locating the SDK directory on platforms where the resolvedExecutable is unexpectedly null .
resolvedExecutable is unexpectedly null.-c exe tests would hang on exit on windows.GithubReporter:
analyzer version 13.x.x.Print a summary of failed tests at the end of the expanded reporter output.
vm-asan, vm-msan, and vm-tsan runtimes to run tests on the standalonebody callback argument to group to void fromdynamic. This may surface cases where the group callback was erroneously--compiler exe crashes.analyzer: '>=8.0.0 <13.0.0'Add a --suite-load-timeout argument to allow configuring a timeout for compiling and loading individual test suites.
--suite-load-timeout argument to allow configuring a timeout for
compiling and loading individual test suites.test_core to 0.6.16test_api to 0.7.10 to fix missing locations on tests skipped due to
the use of solo.Add --coverage-package flag, which filters the coverage report to specific packages using RegExps.
--coverage-package flag, which filters the coverage report to specific
packages using RegExps.main directly in a test suite and
provide a more direct error message than a failing compiler output.analyzer major version 10.Add isSorted and related matchers for iterables.
isSorted and related matchers for iterables.NaN to be equal to itself in equals.test_core to 0.6.14js dependencyAdd --coverage-path and --branch-coverage options to dart test.
--coverage-path and --branch-coverage options to dart test.analyzer major version 9.Expand pub constraint to allow the latest analyzer.
analyzer.Graduate native assets from experiment to preview.
Set a debug name for test isolates.
setUpAll or tearDownAll and running
with asserts enabled.test() and group() functions now take an optional TestLocation that will be used as the location of the test in JSON reporters instead of being parsed
test() and group() functions now take an optional TestLocation that will
be used as the location of the test in JSON reporters instead of being parsed
from the call stack.Allow the latest version of package:shelf_web_socket.
package:shelf_web_socket.Use secure random for url secrets.
Allow the latest version of package:matcher.
package:matcher.Fix hang when running multiple precompiled browser tests.
Update to be forward compatible with package:shelf_web_socket version 3.x.
package:shelf_web_socket version 3.x.Update the package:vm_service constraint to allow version 15.x.
package:vm_service constraint to allow version 15.x.Allow analyzer: '>=6.0.0 <8.0.0'
analyzer: '>=6.0.0 <8.0.0'firefox or firefox-bin executable name on macOS.Increase SDK constraint to ^3.4.0.
Enable asserts for dart2wasm tests.
dart2wasm tests.Point API doc links to package:test canonical libraries.
package:test canonical libraries.dart2wasm - use dart compile wasm instead of depending on
SDK internalsUpdate the package:web_socket_channel version constraint to allow 3.x.
package:web_socket_channel version constraint to allow 3.x.package:shelf_web_socket version constraint to allow 2.x.Add @doNotSubmit to more declarations of the solo parameter.
@doNotSubmit to more declarations of the solo parameter.Added `@doNotSubmit` to test(solo: ...) and group(solo: ...). In practice, this means that code that was relying on ignoring deprecation warnings and…
@doNotSubmit to test(solo: ...) and group(solo: ...). In
practice, this means that code that was relying on ignoring deprecation
warnings and using solo or group with a skip parameter will now fail if
dart analyze --fatal-infos (or similar) is enabled.Fix a bug running browser tests with paths containing windows directory separator follow by a character which is an invalid Dart string escape sequenc
Fix a bug where in precompiled mode, html files for tests were no longer created.
package:js.Handle paths with leading / when spawning test isolates.
/ when spawning test isolates.dart2wasm compiler in chrome and firefox.experimental-chrome-wasm platform, you can now use
-p chrome -c dart2wasm instead.
--pub-serve which has long not been tested
or supported.
lib/ with relative imports to other
libraries in the package.Update the vm_service constraint to allow version 13.x.
13.x.Remove spurious deprecation during autocomplete for setUp and tearDown.
setUp and tearDown.Simplify the initialization of the per-suite message channel within browser tests. See https://github.com/dart-lang/test/issues/2065
Fix communication failures between minified test apps and the non-minified host app.
--fail-fast.Change compiling to loading message in all cases. Surface the "loading" messages in the situations where previously only the "compiling" message would
compiling <path> to loading <path> message in all cases. Surface
the "loading" messages in the situations where previously only the
"compiling" message would be used.Drop support for null unsafe Dart, bump SDK constraint to 3.0.0.
3.0.0.final: OnPlatform, Retry, Skip, Tags,
TestOn, Timeout.root_ fields in the JSON reporter when running a test on Windows
with an absolute path.SAFARI_EXECUTABLE, FIREFOX_EXECUTABLE and
MS_EDGE_EXECUTABLE for custom browser installations.MOZ_AUTOMATION=1 environmental variable to Firefox runner, to make
launcher process on Windows wait for browser exit.Fix compatibility with wasm number semantics.
Copy an existing nonce from a script on the test HTML page to the script created by the test runner host javascript. This only impacts environments te
edge platform in your test
configuration file or -p edge on the command line).Handle a missing 'compiler' value when running a test compiled against a newer test_api than the runner back end is using. The expectation was that th
'compiler' value when running a test compiled against a
newer test_api than the runner back end is using. The expectation was that
the json protocol is only used across packages compatible with the same major
version of the test_api package, but flutter test does not check the
version of packages in the pub solve for user test code.Deprecate --use-data-isolate-strategy. It is now an alias for -c vm:source which is roughly equivalent. If this is breaking for you please file an iss…
--compiler flag, which can be used to configure which compiler
to use.
[<platform>:]<compiler>. For example the command line
argument --compiler vm:source would run all vm tests from source instead
of compiling to kernel first.--compiler exe.--use-data-isolate-strategy. It is now an alias for -c vm:source
which is roughly equivalent. If this is breaking for you please file an issue.Fix running paths by absolute path (with drive letter) on windows.
Avoid empty expandable groups for tests without extra output in Github reporter.
Don't run tearDown until the test body and outstanding work is complete, even if the test has already failed.
tearDown until the test body and outstanding work is complete,
even if the test has already failed.Deprecate throwsNullThrownError, use throwsA(isA ()) instead. The implementation has been changed to ease migrations.
--ignore-timeouts argument.throwsNullThrownError, use throwsA(isA<TypeError>()) instead. The
implementation has been changed to ease migrations.throwsCyclicInitializationError and replace the implementation
with Throws(TypeMatcher<Error>()). The specific exception no longer exists
and there is no guarantee about what type of error will be thrown.Fix an issue with the github reporter where tests that fail asynchronously after they've completed would show up as succeeded tests.
experimental-chrome-wasm platform. This is very unstable and will
eventually be deleted, to be replaced by a --compiler flag. See
https://github.com/dart-lang/test/issues/1776 for more information on future
plans.Support package:matcher version 0.12.13.
package:matcher version 0.12.13.Fix the coverage usage example in the README.md
package:test_api and package:test_core.Fix printOnFailure output to be associated with the correct test.
printOnFailure output to be associated with the correct test.Make the labels for test loading more readable in the compact and expanded reporters, use gray instead of black.
Support the latest package:test_api and package:test_core.
package:test_api and package:test_core.Add Target to restrict TestOn annotation to library level.
Target to restrict TestOn annotation to library level.spawnHybridUri support for package: uris.Fix a bug loading JS sources with non-utf8 content while parsing coverage information from chrome.
Add a github reporter option for use with GitHub Actions.
4.x.github reporter option for use with GitHub Actions.github test reporter the default when we detect we're running on
GitHub Actions.Drop dart2js-path command line argument.
dart2js-path command line argument.packages.Allow the latest vm_service package.
vm_service package.Update analyzer constraint to >=2.0.0 <4.0.0.
analyzer constraint to >=2.0.0 <4.0.0.--ignore-timeouts command line flag, which disables all timeouts
for all tests. This can be useful when debugging, so tests don't time out
during debug sessions.Try to get more logging from chrome on windows to diagnose intermittent failures.
chrome on windows to diagnose intermittent
failures.Wait for paused VM platform isolates before shutdown.
TestFailure implements Exception for compatibility with
only_throw_exceptions.Remove duplicate logging of suggestion to enable the chain-stack-traces flag, a single log will now appear at the end.
chain-stack-traces
flag, a single log will now appear at the end.Republish with missing JS file for browser tests.
Fix parsing of file paths into a URI on windows.
Support query parameters name, full-name, line, and col on test paths, which will apply the filters to only those test suites.
name, full-name, line, and col on test paths,
which will apply the filters to only those test suites.
--name) are also still respected and must match.line and col will match if any frame from the test trace matches
(the test trace is the current stack trace where test is invoked).markTestSkipped outside of a test.Your coding agent can read these notes before it upgrades. Set up the MCP server →