For Flutter developers whose tests pass a little too easily
Test Lenstester.tap without await, an expect before the pump, a test that never calls expect. Find what your tests do not prove, then rewrite them.
Paste one test file. Your browser lists every test with its expects, actions and pumps, and flags tester calls not awaited, an expect with no pump after a tap, tests that assert nothing, widgets pumped with no app, real repositories where a fake belongs, real waits and integration tests with no binding - then gives you the command to run it. Then the review, and the rewritten tests.
The test file free
The scan free
What the scan found
Every test
The skill's testing rules
How to run it, and the checklist free
The skill's commands for this file: flutter test for unit and widget tests, and for integration tests the device, Chrome, Linux CI or Firebase Test Lab steps.
run_tests.sh
The review metered
Pricing as soon as the session is ready...
Sign inThe reply could not be read. Here it is as it came back:
Caveats
Caveats
The page's check of this reply
Saved test reviews
How it works - and what it cannot see
The scan reads the Dart itself: comments and strings are masked, every test, testWidgets, group and setUp is matched to its closing bracket, and each test's body is read in order - so it knows whether a tap was awaited and whether a pump came between the tap and the expect. It follows the skill: unit tests that mock their dependencies and touch no disk or network, widget tests that pump inside MaterialApp and check with finders and matchers, integration tests on their own binding, and Fakes over mocks for repositories and services.
It cannot tell whether an expect checks the right thing, which edge cases are missing, or whether a layer has no tests at all - that is the review. The page re-scans the rewritten file - it does not compile it or run the tests - so a fix that did not land is flagged rather than trusted, and every test keeps its name.