PackageTrack
Sign in Get early access

test

A full featured library for writing and running Dart tests across platforms.

1.31.2 11M downloads/mo #21 most downloaded on pub.dev dart-lang/test

What this package is like to depend on

Last release 1 months ago

27 Jun 2026

Ships fairly regularly

a new release about every 2 months

Nearly every release is documented

notes for 253 of 256 stable releases

Nothing withdrawn

no release was ever pulled

11 years old

287 releases · first in 2015

7 releases in the last 12 months

see the full history below

Release timeline

287 releases · Apr 2015 to Jun 2026
2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 60 of 287
  1. 1.31.2 27 Jun 2026
    Release notes
    • Add support for running tests as native CLI bundles (vm platform only).
      • You can run tests this way with --compiler cli.
    • Impacts Configuration Support using the OS platform selector to configure
      browser tests.
      Previously tests loaded for the browser would have an operating system of
      "none", now they will have an operating system matching the system the browser
      is running on. This allows more specific configuration, such as skipping a
      particular browser test on a particular platform. This may impact existing
      configuration which relied on the configuration for browser tests being
      independent from any OS specific configuration. For instance a wide skip of
      all tests with OS 'windows' would previously still run browser tests on
      windows, but will now skip all tests including browser tests.
    • Use a DevTools URL instead of a defunct observatory URL.
    • Disable throttling in chrome launch arguments.
    • Allow package_config 3.x.x.
    • Require analyzer: '>=13.0.0 <15.0.0'
    • Use the compact or failures-only reporters by default for tests run directly
      instead of through the test runner.
    Open source →
    Release notes
    • Add support for running tests as native CLI bundles (vm platform only).
      • You can run tests this way with --compiler cli.
    • Impacts Configuration Support using the OS platform selector to configure browser tests. Previously tests loaded for the browser would have an operating system of "none", now they will have an operating system matching the system the browser is running on. This allows more specific configuration, such as skipping a particular browser test on a particular platform. This may impact existing configuration which relied on the configuration for browser tests being independent from any OS specific configuration. For instance a wide skip of all tests with OS 'windows' would previously still run browser tests on windows, but will now skip all tests including browser tests.
    • Use a DevTools URL instead of a defunct observatory URL.
    • Disable throttling in chrome launch arguments.
    • Allow package_config 3.x.x.
    • Require analyzer: '>=13.0.0 <15.0.0'
    • Use the compact or failures-only reporters by default for tests run directly instead of through the test runner.
    Open source →
  2. 1.31.1 27 Apr 2026
    Release notes
    • Ignore an error locating the SDK directory on platforms where the
      resolvedExecutable is unexpectedly null.
    • Fix a bug where -c exe tests would hang on exit on windows.
    • Fix a bug where the web test runner would not find custom HTML files when
      using the dart2wasm compiler.
    • GithubReporter:
      • Group contiguous passing and skipped tests into collapsible groups to
        reduce log noise in GitHub Actions.
      • Updated skipped icon to ⏭️.
    • Increase SDK constraint to ^3.10.0.
    • Allow analyzer version 13.x.x.
    Open source →
    Release notes
    • Ignore an error locating the SDK directory on platforms where the resolvedExecutable is unexpectedly null.
    • Fix a bug where -c exe tests would hang on exit on windows.
    • Fix a bug where the web test runner would not find custom HTML files when using the dart2wasm compiler.
    • GithubReporter:
      • Group contiguous passing and skipped tests into collapsible groups to reduce log noise in GitHub Actions.
      • Updated skipped icon to ⏭️.
    • Increase SDK constraint to ^3.10.0.
    • Allow analyzer version 13.x.x.
    Open source →
  3. 1.31.0 18 Mar 2026
    Release notes
    • Print a summary of failed tests at the end of the expanded reporter output.
    • Add vm-asan, vm-msan, and vm-tsan runtimes to run tests on the standalone
      Dart VM under Address Sanitizer, Memory Sanitizer or Thread Sanitizer. This is
      useful for finding issues when using foreign libraries through dart:ffi, such
      as use-after-free, use of initialized memory and data races, or for detecting
      data races in Dart code using shared fields.
    • Change return type on the body callback argument to group to void from
      dynamic. This may surface cases where the group callback was erroneously
      returning an ignored value.
    • Fix a hang when a test run with --compiler exe crashes.
    • Require analyzer: '>=8.0.0 <13.0.0'
    Open source →
    Release notes
    • Print a summary of failed tests at the end of the expanded reporter output.
    • Add vm-asan, vm-msan, and vm-tsan runtimes to run tests on the standalone Dart VM under Address Sanitizer, Memory Sanitizer or Thread Sanitizer. This is useful for finding issues when using foreign libraries through dart:ffi, such as use-after-free, use of initialized memory and data races, or for detecting data races in Dart code using shared fields.
    • Change return type on the body callback argument to group to void from dynamic. This may surface cases where the group callback was erroneously returning an ignored value.
    • Fix a hang when a test run with --compiler exe crashes.
    • Require analyzer: '>=8.0.0 <13.0.0'
    Open source →
  4. 1.30.0 27 Feb 2026
    Release notes
    • Add a --suite-load-timeout argument to allow configuring a timeout for compiling and loading individual test suites.
    • Remove the default 12 minute timeout to compile and load test suites.
    • Bump test_core to 0.6.16
    • Add comments to the top-level libraries in the package.
    • Bump test_api to 0.7.10 to fix missing locations on tests skipped due to the use of solo.
    Open source →
  5. 1.29.0 07 Jan 2026
    Release notes
    • Add --coverage-package flag, which filters the coverage report to specific packages using RegExps.
    • Require a function definition named main directly in a test suite and provide a more direct error message than a failing compiler output.
    • Suppress skip reason messages in the compact and failures-only reporters.
    • Allow analyzer major version 10.
    Open source →
  6. 1.28.0 21 Nov 2025
    Release notes
    • Add isSorted and related matchers for iterables.
    • Consider NaN to be equal to itself in equals.
    • Bump test_core to 0.6.14
    • Removed unused js dependency
    Open source →
  7. 1.27.0 11 Nov 2025
    Release notes
    • Add --coverage-path and --branch-coverage options to dart test.
    • Serve dart2wasm source map files.
    • Fix Node.js dart2wasm tests on windows.
    • Doc edit: clarify in README that a platform selector includes the compiler.
    • Allow analyzer major version 9.
    • Require Dart 3.7
    Open source →
  8. 1.26.3 22 Jul 2025
    Release notes
    • Expand pub constraint to allow the latest analyzer.
    Open source →
  9. 1.26.2 21 May 2025
    Release notes
    • Graduate native assets from experiment to preview.
    Open source →
  10. 1.26.1 19 May 2025
    Release notes
    • Set a debug name for test isolates.
    • Fix an assertion failure when using setUpAll or tearDownAll and running with asserts enabled.
    Open source →
  11. 1.26.0 12 May 2025
    Release notes
    • 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.
    Open source →
  12. 1.25.15 08 Feb 2025
    Release notes
    • Allow the latest version of package:shelf_web_socket.
    Open source →
  13. 1.25.14 19 Dec 2024
    Release notes
    • Use secure random for url secrets.
    Open source →
  14. 1.25.13 17 Dec 2024
    Release notes
    • Allow the latest version of package:matcher.
    Open source →
  15. 1.25.12 04 Dec 2024
    Release notes
    • Fix hang when running multiple precompiled browser tests.
    Open source →
  16. 1.25.11 03 Dec 2024
    Release notes
    • Update to be forward compatible with package:shelf_web_socket version 3.x.
    Open source →
  17. 1.25.10 02 Dec 2024
    Release notes
    • Update the package:vm_service constraint to allow version 15.x.
    Open source →
  18. 1.25.9 26 Nov 2024
    Release notes
    • Allow analyzer: '>=6.0.0 <8.0.0'
    • Fix dart2wasm tests on windows.
    • Increase SDK constraint to ^3.5.0.
    • Support running Node.js tests compiled with dart2wasm.
    • Allow firefox or firefox-bin executable name on macOS.
    Open source →
  19. 1.25.8 03 Jul 2024
    Release notes
    • Increase SDK constraint to ^3.4.0.
    Open source →
  20. 1.25.7 05 Jun 2024
    Release notes
    • Enable asserts for dart2wasm tests.
    Open source →
  21. 1.25.6 02 Jun 2024
    Release notes
    • Point API doc links to package:test canonical libraries.
    • Fix testing with dart2wasm - use dart compile wasm instead of depending on SDK internals
    • Update min SDK constraint to 3.2.0.
    Open source →
  22. 1.25.5 06 May 2024
    Release notes
    • Update the package:web_socket_channel version constraint to allow 3.x.
    • Update the package:shelf_web_socket version constraint to allow 2.x.
    Open source →
  23. 1.25.4 17 Apr 2024
    Release notes
    • Add @doNotSubmit to more declarations of the solo parameter.
    Open source →
  24. 1.25.3 09 Apr 2024
    Release notes
    • Remove outdated StreamMatcher link from README table of contents.
    • Document the silent reporter in CLI help output.
    • Support enabling experiments with the dart2wasm compiler.
    • Added @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.
    Open source →
  25. 1.25.2 24 Jan 2024
    Release notes
    • Fix a bug running browser tests with paths containing windows directory separator follow by a character which is an invalid Dart string escape sequence.
    Open source →
  26. 1.25.1 11 Jan 2024
    Release notes
    • Fix a bug where in precompiled mode, html files for tests were no longer created.
    • Support the latest version of package:js.
    • Document the silent reporter in CLI help output.
    Open source →
  27. 1.25.0 13 Dec 2023
    Release notes
    • Handle paths with leading / when spawning test isolates.
    • Add support for the dart2wasm compiler in chrome and firefox.
    • BREAKING: Remove the experimental-chrome-wasm platform, you can now use -p chrome -c dart2wasm instead.
      • Note that this has always been advertised as a change that would happen in a future non-breaking release.
    • BREAKING:Dropped support for --pub-serve which has long not been tested or supported.
      • We do not anticipate much if any actual breakage or existing usage of this feature, which is why we are making this change in a non-breaking release.
      • If you do require this feature, file an issue and we can look at adding it back.
    • BREAKING: Fully remove support for Internet Explorer.
    • Fix running of tests defined under lib/ with relative imports to other libraries in the package.
    Open source →
  28. 1.24.9 25 Oct 2023
    Release notes
    • Update the vm_service constraint to allow version 13.x.
    Open source →
  29. 1.24.8 13 Oct 2023
    Release notes
    • Remove spurious deprecation during autocomplete for setUp and tearDown.
    Open source →
  30. 1.24.7 02 Oct 2023
    Release notes
    • Simplify the initialization of the per-suite message channel within browser tests. See https://github.com/dart-lang/test/issues/2065
    • Add a timeout to browser test suite loads.
    • Fix running of browser tests that use deferred loaded libraries.
    Open source →
  31. 1.24.6 08 Aug 2023
    Release notes
    • Fix communication failures between minified test apps and the non-minified host app.
    • Add support for discontinuing after the first failing test with --fail-fast.
    Open source →
  32. 1.24.5 31 Jul 2023
    Release notes
    • Change 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.
    • Support browser tests where the frame creates the message channel.
    Open source →
  33. 1.24.4 28 Jun 2023
    Release notes
    • Drop support for null unsafe Dart, bump SDK constraint to 3.0.0.
    • Make some annotation classes final: OnPlatform, Retry, Skip, Tags, TestOn, Timeout.
    • Fix the root_ fields in the JSON reporter when running a test on Windows with an absolute path.
    • Add support for SAFARI_EXECUTABLE, FIREFOX_EXECUTABLE and MS_EDGE_EXECUTABLE for custom browser installations.
    • Allow the latest analyzer (6.x.x).
    • Add MOZ_AUTOMATION=1 environmental variable to Firefox runner, to make launcher process on Windows wait for browser exit.
    Open source →
  34. 1.24.3 16 May 2023
    Release notes
    • Fix compatibility with wasm number semantics.
    Open source →
  35. 1.24.2 19 Apr 2023
    Release notes
    • 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 testing with custom HTML that includes a nonce.
    • Support the Microsoft Edge browser (use the edge platform in your test configuration file or -p edge on the command line).
    Open source →
  36. 1.24.1 31 Mar 2023
    Release notes
    • 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 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.
    Open source →
  37. 1.24.0 23 Mar 2023
    Release notes
    • Support the --compiler flag, which can be used to configure which compiler to use.
      • To specify a compiler by platform, the argument supports platform selectors through this syntax [<platform>:]<compiler>. For example the command line argument --compiler vm:source would run all vm tests from source instead of compiling to kernel first.
      • If no given compiler is compatible for a platform, it will use its default compiler instead.
    • Add support for running tests as native executables (vm platform only).
      • You can run tests this way with --compiler exe.
    • Support compiler identifiers in platform selectors.
    • List the supported compilers for each platform in the usage text.
    • Update all reporters to print the compiler along with the platform name when configured to print the platform. Extend the logic for printing platofrm information to do so if any compilers are explicitly configured.
    • 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 issue.
    Open source →
  38. 1.23.1 09 Feb 2023
    Release notes
    • Fix running paths by absolute path (with drive letter) on windows.
    Open source →
  39. 1.23.0 08 Feb 2023
    Release notes
    • Avoid empty expandable groups for tests without extra output in Github reporter.
    • Add support for CHROME_EXECUTABLE environment variable. This overrides any config file settings.
    • Support running tests by absolute file uri.
    Open source →
  40. 1.22.2 11 Jan 2023
    Release notes
    • Don't run tearDown until the test body and outstanding work is complete, even if the test has already failed.
    • Change URL secrets for browser tests to always be alphanumeric characters.
    Open source →
  41. 1.22.1 08 Dec 2022
    Release notes
    • Add documentation for the --ignore-timeouts argument.
    • Merge command lines args repeating the same test path to run the suite one time with all the test cases across the different arguments.
    • Fix VM tests which run after some test has changed the working directory. There are still issues with browser tests after changing directory.
    • Deprecate throwsNullThrownError, use throwsA(isA<TypeError>()) instead. The implementation has been changed to ease migrations.
    • Deprecate 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.
    Open source →
  42. 1.22.0 01 Nov 2022
    Release notes
    • Fix an issue with the github reporter where tests that fail asynchronously after they've completed would show up as succeeded tests.
    • Add the 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.
    Open source →
  43. 1.21.7 26 Oct 2022
    Release notes
    • Support package:matcher version 0.12.13.
    Open source →
  44. 1.21.6 12 Sep 2022
    Release notes
    • Require Dart >= 2.18.0
    • Fix the coverage usage example in the README.md
    • Support the latest package:test_api and package:test_core.
    Open source →
  45. 1.21.5 19 Aug 2022
    Release notes
    • Fix printOnFailure output to be associated with the correct test.
    • Migrate all dom interactions to static interop.
    Open source →
  46. 1.21.4 06 Jul 2022
    Release notes
    • Make the labels for test loading more readable in the compact and expanded reporters, use gray instead of black.
    • Print a command to re-run the failed test after each failure in the compact reporter.
    • Fix the package config path used when running pre-compiled vm tests.
    Open source →
  47. 1.21.3 22 Jun 2022
    Release notes
    • Support the latest package:test_api and package:test_core.
    Open source →
  48. 1.21.2 15 Jun 2022
    Release notes
    • Add Target to restrict TestOn annotation to library level.
    • Update the github reporter to output the platform in the test names when multiple platforms are used.
    • Fix spawnHybridUri support for package: uris.
    Open source →
  49. 1.21.1 21 Apr 2022
    Release notes
    • Fix a bug loading JS sources with non-utf8 content while parsing coverage information from chrome.
    Open source →
  50. 1.21.0 14 Apr 2022
    Release notes
    • Allow analyzer version 4.x.
    • Add a github reporter option for use with GitHub Actions.
    • Make the github test reporter the default when we detect we're running on GitHub Actions.
    Open source →
  51. 1.20.2 16 Mar 2022
    Release notes
    • Drop dart2js-path command line argument.
    • Allow loading tests under a path with the directory named packages.
    • Add retry for launching browsers. Reduce timeout back to 30 seconds.
    Open source →
  52. 1.20.1 20 Dec 2021
    Release notes
    • Allow the latest vm_service package.
    Open source →
  53. 1.20.0 16 Dec 2021
    Release notes
    • Update analyzer constraint to >=2.0.0 <4.0.0.
    • Add an --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.
    • Create a trusted types policy when available for assigning the script URL for web tests.
    Open source →
  54. 1.19.5 30 Nov 2021
    Release notes
    • Try to get more logging from chrome on windows to diagnose intermittent failures.
    Open source →
  55. 1.19.4 24 Nov 2021
    Release notes
    • Wait for paused VM platform isolates before shutdown.
    • TestFailure implements Exception for compatibility with only_throw_exceptions.
    Open source →
  56. 1.19.3 02 Nov 2021
    Release notes
    • Remove duplicate logging of suggestion to enable the chain-stack-traces flag, a single log will now appear at the end.
    Open source →
  57. 1.19.2 25 Oct 2021
    Release notes
    • Republish with missing JS file for browser tests.
    Open source →
  58. 1.19.1 21 Oct 2021
    Release notes
    • Fix parsing of file paths into a URI on windows.
    Open source →
  59. 1.19.0 20 Oct 2021
    Release notes
    • Support query parameters name, full-name, line, and col on test paths, which will apply the filters to only those test suites.
      • All specified filters must match for a test to run.
      • Global filters (ie: --name) are also still respected and must match.
      • The 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).
    • Give a better exception when using markTestSkipped outside of a test.
    Open source →
  60. 1.18.2 01 Oct 2021
    Release notes
    • Publish with the host.dart.js file.
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive