test_rocket 0.10.0
test_rocket: ^0.10.0 copied to clipboard
A command line tool to execute your dart tests at lightning fast speed. Experience ~80% reduction in runtime.
Changelog #
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.10.0 - 2026-10-18 #
Added #
- Rich Test Failure Cards: Structured, easy-to-read failure reporting in
testRocket run:- De-bundled source locations resolving the exact file path and line number in user test code (e.g.
test/features/auth/login_test.dart:42). - Cleaned test descriptions stripping the internal bundle prefix (
tests <path.dart>). - Clear assertion diffs (
Expected:vsActual:) and formatted failure reasons displayed directly in the summary dashboard. - Direct, copy-pasteable single-test re-run commands (
flutter test <file>).
- De-bundled source locations resolving the exact file path and line number in user test code (e.g.
testRocket run --failed: Re-run only the test files that failed in the previous run. Failure paths are recorded in.testRocket/failed_tests.jsonand automatically cleared upon a successful test run.- Automatic
.gitignoreManagement: Automatically ensures.testRocket/failed_tests.jsonis added to.gitignorewhen runningtestRocket runortestRocket bundle.
Fixed #
- Fixed
testRocket rununexpectedly collecting and displaying coverage whenmin_coveragewas configured inpubspec.yaml. Coverage is now only evaluated when explicitly requested via--coverage,--min-coverage, or--fail-on-drop. - Fixed working directory and relative path resolution when invoking bundled test subprocesses in sub-packages or example projects.
- Fixed unawaited shard processes when running with
--faster.
0.9.0 - 2026-09-19 #
Added #
pubspec.yamlConfiguration: You can now configuretestRocketsettings directly in your project'spubspec.yaml:test_rocket: min_coverage: 80 # Sets the minimum/target coverage percentage (e.g. 80 or 80.0)testRocket run --coverage: Automatically enforces this threshold during coverage runs without needing CLI flags, failing with exit code1if coverage drops below it (can still be overridden via--min-coverage).testRocket trends: Uses this value to render the target green dashed line in the interactive HTML dashboard.
testRocket trendscommand to visualize historical test suite metrics and code coverage trends:- Interactive HTML Dashboard (
.testRocket/trends.html): Automatically generated and opened in your browser. Features coverage & duration charts, KPI summary cards, time range filters (Last 20,50,100,Alldefaulting toLast 100), author filtering dropdowns to inspect individual or team trends, zoom/pan controls, and a searchable, paginated run history table with latest runs first. Includes--no-openand--no-htmlflags for CI environments. - Terminal Preview: Fast Unicode block chart, sparklines (
▃▅█), and summary stats for quick checks right in the console.
- Interactive HTML Dashboard (
- Git Rebase & Merge Conflict Resolution: Automated union merge driver (
.testRocket/report.csv merge=union) configured via.gitattributesto automatically resolve pull/rebase conflicts across multiple contributors. - Pre-commit Hook Support: Guide and workflow for automatically running tests and tracking metrics on every commit.
--min-coverage <percent>flag fortestRocket runto enforce a minimum line coverage threshold and fail the build if unreached.--fail-on-dropflag fortestRocket runto prevent coverage regressions by failing if coverage drops compared to the previous run.- Experimental |
testRocket doctorcommand to diagnose test isolation issues by bisecting failing test bundles and suggesting fixes for shared state leaks. Writes.testRocket/doctor.md(and.testRocket/doctor.jsonwith--json).
Changed #
- Reports are now generated automatically by default.
testRocket runlogs test metrics to.testRocket/report.csvon every run without needing the--reportflag. The--reportflag is deprecated. - Coverage is optional. Running
testRocket runlogs test counts, durations, and pass/fail statuses. Adding--coveragecaptures code coverage into the report. - Sorted test bundle imports. Test bundles now import test files in stable alphabetical order rather than filesystem-walk order, preventing flaky test order differences across machines.
0.3.0 - 2025-04-14 #
Added #
--reportflag toruncommand to generate test run reports in.testRocketdirectory- documentation for Test Reporting in
Readme.md
0.2.2 - 2025-02-28 #
Added #
- add buy me a coffee button in readme
- add
activatecommand to activate license keys (experimental) - generate code coverage with
--coverageflag onruncommand (experimental)