test_core
A basic library for writing tests and running them on the VM.
0.6.19
10M downloads/mo
#23 most downloaded on pub.dev
dart-lang/test
What this package is like to depend on
Last release 1 months ago
27 Jun 2026
Release timing varies
gaps range from 8 days to 5 months
Nearly every release is documented
notes for 109 of 111 stable releases
1 version withdrawn
withdrawn after publishing
8 years old
128 releases · first in 2018
7 releases in the last 12 months
see the full history below
Release timeline
128 releases · Nov 2018 to Jun 2026
2019
2020
2021
2022
2023
2024
2025
2026
Releases
latest 60 of 128-
0.6.1927 Jun 2026Release notes
Open source →- Add support for
-c cli(the native CLI compiler) to the vm platform. - Support using the OS platform selector to configure browser tests.
- Use a DevTools URL instead of a defunct observatory URL.
- Allow package_config
3.x.x. - Require
analyzer: '>=13.0.0 <15.0.0' - Update
parse_metadata.dartto be compatible withanalyzer >=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.
Release notes
Open source →- Add support for
-c cli(the native CLI compiler) to the vm platform. - Support using the OS platform selector to configure browser tests.
- Use a DevTools URL instead of a defunct observatory URL.
- Allow package_config
3.x.x. - Require
analyzer: '>=13.0.0 <15.0.0' - Update
parse_metadata.dartto be compatible withanalyzer >=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.
- Add support for
-
0.6.1827 Apr 2026Release notes
Open source →- Ignore an error locating the SDK directory on platforms where the
resolvedExecutableis unexpectedlynull. - Respect
NO_COLOR,CLICOLOR,FORCE_COLOR,CLICOLOR_FORCE, andTERM=dumb
environment variables for color output detection. - Fix a bug where
-c exetests would hang on exit on windows. - Update
parse_metadata.dartto be compatible withanalyzer >=8.0.0 <14.0.0. GithubReporter:- Group contiguous passing and skipped tests into collapsible groups to
reduce log noise in GitHub Actions. - Updated skipped icon to ⏭️.
- Group contiguous passing and skipped tests into collapsible groups to
Release notes
Open source →- Ignore an error locating the SDK directory on platforms where the
resolvedExecutableis unexpectedlynull. - Respect
NO_COLOR,CLICOLOR,FORCE_COLOR,CLICOLOR_FORCE, andTERM=dumbenvironment variables for color output detection. - Fix a bug where
-c exetests would hang on exit on windows. - Update
parse_metadata.dartto be compatible withanalyzer >=8.0.0 <14.0.0. GithubReporter:- Group contiguous passing and skipped tests into collapsible groups to reduce log noise in GitHub Actions.
- Updated skipped icon to ⏭️.
- Ignore an error locating the SDK directory on platforms where the
-
0.6.1718 Mar 2026Release notes
Open source →- Print a summary of failed tests at the end of the expanded reporter output.
- Add
vm-asan,vm-msan, andvm-tsanruntimes 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
bodycallback argument togrouptovoidfrom
dynamic. This may surface cases where the group callback was erroneously
returning an ignored value. - Fix a hang when a test run with
--compiler execrashes. - Require
analyzer: '>=8.0.0 <13.0.0'
Release notes
Open source →- Print a summary of failed tests at the end of the expanded reporter output.
- Add
vm-asan,vm-msan, andvm-tsanruntimes 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
bodycallback argument togrouptovoidfromdynamic. This may surface cases where the group callback was erroneously returning an ignored value. - Fix a hang when a test run with
--compiler execrashes. - Require
analyzer: '>=8.0.0 <13.0.0'
-
0.6.1627 Feb 2026Release notes
Open source →- Fix coverage reporting to report all coverage when using JSON workflow.
- Add
SuiteConfiguration.suiteLoadTimeoutto configure the timeout for loading a test suite. - Removed hard-coded timeout of 12m for loading a test suite and set default to
none. - Bump
test_apito 0.7.10 - Print a summary of failed tests at the end of the expanded reporter output.
-
0.6.1507 Jan 2026Release notes
Open source →- Add
--coverage-packageflag, which filters the coverage report to specific packages using RegExps. - Require a function definition named
maindirectly 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.
- Improve fidelity of checks for using ascii characters. Check the SDK reported support on windows, and assume ascii support for all terminals on linux since the SDK reported support is much more narrow.
- Fix default coverage filter when running in a workspace package. Default filter now includes all the workspace's package.
- Add support for reading test package version within pub workspaces.
- Allow
analyzermajor version 10.
- Add
-
0.6.1420 Nov 2025 -
0.6.1311 Nov 2025Release notes
Open source →- Require Dart 3.7
- Add
--coverage-pathand--branch-coverageoptions todart test. - Allow
analyzermajor version 9.
-
0.6.1222 Jul 2025 -
0.6.1121 May 2025 -
0.6.1019 May 2025Release notes
Open source →- Set a debug name for test isolates.
- Fix an assertion failure when using
setUpAllortearDownAlland running with asserts enabled.
-
0.6.912 May 2025Release notes
Open source →- Add support for native assets for
dart testin pub workspaces. test()andgroup()functions now take an optionalTestLocationthat will be used as the location of the test in JSON reporters instead of being parsed from the call stack.
- Add support for native assets for
-
0.6.804 Dec 2024 -
0.6.702 Dec 2024 -
0.6.626 Nov 2024Release notes
Open source →- Allow
analyzer: '>=6.0.0 <8.0.0' - Fix dart2wasm tests on windows.
- Increase SDK constraint to ^3.5.0.
- Allow passing additional arguments to
dart compile wasm.
- Allow
-
0.6.503 Jul 2024Release notes
Open source →- Increase SDK constraint to ^3.4.0.
- Ensure we don't create files ending in a
., this breaks windows.
-
0.6.405 Jun 2024 -
0.6.302 Jun 2024Release notes
Open source →- Update min SDK constraint to 3.2.0.
- Fix testing with
dart2wasm- usedart compile wasminstead of depending on SDK internals
-
0.6.217 Apr 2024 -
0.6.109 Apr 2024Release notes
Open source →- Handle missing package configs.
- Document the silent reporter in CLI help output.
- Support enabling experiments with the dart2wasm compiler.
-
0.6.013 Dec 2023Release notes
Open source →- Handle paths with leading
/when spawning test isolates. - Added
dart2wasmas a supported compiler for thechromeruntime. - BREAKING: Removed the
experimentalChromeWasmruntime. - BREAKING: Removed
Runtime.isJSandRuntime.isWasm, as this is now based on the compiler and not the runtime. - BREAKING: Removed
Configuration.pubServeUrland support for it. - Fix running of tests defined under
lib/with relative imports to other libraries in the package. - Update the
package:frontend_server_clientconstraint to allow version4.0.0. - Update the
package:vm_serviceconstraint to allow version14.x.
- Handle paths with leading
-
0.5.925 Oct 2023 -
0.5.813 Oct 2023Release notes
Open source →- Move scaffolding definitions to a non-deprecated library.
- Allow omitting the
Compilerargument tocurrentPlatform.
-
0.5.702 Oct 2023Release notes
Open source →- Pass --disable-program-split to dart2js to fix tests which use deferred loading.
- Add a 'silent' reporter option. Keep it hidden in the CLI args help since it is not useful in the general case, but can be useful for tests of the test runner.
- Update to
package:vm_service12.0.0
-
0.5.608 Aug 2023Release notes
Open source →- Add support for discontinuing after the first failing test with
--fail-fast.
- Add support for discontinuing after the first failing test with
-
0.5.531 Jul 2023Release notes
Open source →- Change "compiling <path>" to "loading <path>" message in all cases. Surface the "loading" messages in the situations where previously only "compiling" message would be used.
-
0.5.428 Jun 2023Release notes
Open source →- Drop support for null unsafe Dart, bump SDK constraint to
3.0.0. - Add
finalmodifier on some implementation classes:Configuration,CustomRuntime,RuntimeSettings,SuiteConfiguration. - Fix the
root_fields in the JSON reporter when running a test on Windows with an absolute path. - Allow the latest analyzer (6.x.x).
- Drop support for null unsafe Dart, bump SDK constraint to
-
0.5.316 May 2023 -
0.5.219 Apr 2023 -
0.5.131 Mar 2023Release notes
Open source →- Start adding experimental support for native_assets.yaml, when
--enable-experiment=native_assetsis passed.
- Start adding experimental support for native_assets.yaml, when
-
0.5.023 Mar 2023Release notes
Open source →- Support the
--compilerflag, 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:sourcewould 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.
- To specify a compiler by platform, the argument supports platform selectors
through this syntax
- Add support for
-c exe(the native executable compiler) to the vm platform. - Add
Compilerclass, exposed throughbackend.dart. - 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:sourcewhich is roughly equivalent. If this is breaking for you please file an issue. - BREAKING Add required
defaultCompilerandsupportedCompilersfields toRuntime. - BREAKING Add required
compilerfield toSuitePlatform. - BREAKING Add required
compilerSelectionsargument to someConfigurationandSuiteConfigurationconstructors. - BREAKING Custom platform plugins need to respect the compiler option
given through the
SuitePlatformargument toPlatformPlugin.load. This is not statically breaking but it will be confusing for users if it isn't supported. - BREAKING Remove
useDataIsolateStrategyfield fromConfiguration. - BREAKING Stop exporting APIs from
package:matcher/expect.dart.
- Support the
-
0.4.2409 Feb 2023 -
0.4.2308 Feb 2023Release notes
Open source →- Avoid empty expandable groups for tests without extra output in Github reporter.
- Support running tests by absolute file uri.
- Update
vm_serviceconstraint to>=6.0.0 <12.0.0.
-
0.4.2211 Jan 2023Release notes
Open source →- Don't run
tearDownuntil the test body and outstanding work is complete, even if the test has already failed. - Update
vm_serviceconstraint to>=6.0.0 <11.0.0.
- Don't run
-
0.4.2108 Dec 2022Release notes
Open source →- Move
includeTagsandexcludeTagsfromSuiteConfigurationtoConfiguration. - 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.
- Move
-
0.4.2001 Nov 2022Release notes
Open source →- Fix an issue with the github reporter where tests that fail asynchronously after they've completed would show up as succeeded tests.
- Support the latest
package:test_api. - Refactor
CompilerPoolto be abstract, add wasm compiler pool.
-
0.4.1926 Oct 2022 -
0.4.1812 Sep 2022Release notes
Open source →- Support the latest
package:test_api. - Support the latest
package:analyzer.
- Support the latest
-
0.4.1719 Aug 2022Release notes
Open source →- Support the latest
package:test_api. - Support the latest
package:frontend_server_client.
- Support the latest
-
0.4.1606 Jul 2022Release notes
Open source →- 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.
-
0.4.1522 Jun 2022 -
0.4.1415 Jun 2022Release notes
Open source →- Update the github reporter to output the platform in the test names when multiple platforms are used.
- Fix
spawnHybridUrisupport forpackage:uris.
-
0.4.1314 Apr 2022Release notes
Open source →- Re-publish changes from 0.4.12.
- Stop relying on setUpAllName and tearDownAllName constants from test_api.
-
0.4.1214 Apr 2022 withdrawnRelease notes
Open source →- Remove wait for VM platform isolate exits.
- Drop
dart2jsPathconfiguration support. - Allow loading tests under a path with the directory named
packages. - Require analyzer version
3.3.0, and allow version4.x.
-
0.4.1120 Dec 2021 -
0.4.1016 Dec 2021Release notes
Open source →- Update
analyzerconstraint to>=2.14.0 <3.0.0. - Add an
--ignore-timeoutscommand line flag, which disables all timeouts for all tests. - Experimental: Add a VM service extension
ext.test.pauseAfterTestswhich configures VM platform tests to pause for debugging after tests are run, before the test isolates are killed.
- Update
-
0.4.924 Nov 2021 -
0.4.802 Nov 2021Release notes
Open source →- Add logging about enabling stack trace chaining to the compact and expanded reporters (moved from the invoker). This will now only be logged once after all tests have ran.
-
0.4.721 Oct 2021 -
0.4.620 Oct 2021Release notes
Open source →- Support query parameters
name,full-name,line, andcolon 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
lineandcolwill match if any frame from the test trace matches (the test trace is the current stack trace wheretestis invoked).
- Support the latest
test_api.
- Support query parameters
-
0.4.501 Oct 2021 -
0.4.401 Oct 2021 -
0.4.330 Sep 2021Release notes
Open source →- Add an option to disallow duplicate test or group names in
directRunTests. - Add configuration to disallow duplicate test and group names by default. See the docs for more information.
- Remove dependency on pedantic.
- Add an option to disallow duplicate test or group names in
-
0.4.231 Aug 2021 -
0.4.116 Aug 2021 -
0.4.013 Jul 2021Release notes
Open source →- BREAKING: All parameters to the
SuiteConfigurationandConfigurationconstructors are now required. Some specialized constructors have been added for the common cases where a subset are intended to be provided. - BREAKING: Remove support for
FORCE_TEST_EXIT. - Report incomplete tests as errors in the JSON reporter when the run is canceled early.
- Don't log the --test-randomization-ordering-seed if using the json reporter.
- Add a new exit code, 79, which is used when no tests were ran.
- Previously you would have gotten either exit code 1 or 65 (65 if you had provided a test name regex).
- When no tests were ran but tags were provided, list the tag configuration.
- Update
analyzerconstraint to>=1.0.0 <3.0.0.
- BREAKING: All parameters to the
-
0.3.2923 Jun 2021Release notes
Open source →- Fix a bug where a tag level configuration would cause test suites with that
tag to ignore the
--test-randomize-ordering-seedargument.
- Fix a bug where a tag level configuration would cause test suites with that
tag to ignore the
-
0.3.2815 Jun 2021Release notes
Open source →- Add
timefield to the json reportersallSuitesevent type so that all event types can be unified.
- Add
-
0.3.2709 Jun 2021 -
0.3.2609 Jun 2021Release notes
Open source →- Give a better error when
printOnFailureis called from outside a test zone.
- Give a better error when
-
0.3.2526 May 2021