Matched signals
- No tests found
- No test files found
- No test suites found
- 0 tests
- 0 passed
- 0 examples
- 0 passing
- tests: 0
Test command ran but zero tests were executed
What this failure means
A test runner command was invoked but discovered or executed zero tests. CI marked the job as passing because the test runner exited zero, but no tests were actually validated.
Symptoms
Faultline looks for one or more of these log fragments:
No tests found
No test files found
No test suites found
0 tests
0 passed
0 examples
0 passing
tests: 0
Diagnosis
Most test runners exit with code 0 when they find no tests to execute. This means a broken test discovery configuration, missing test files, or an incorrect test filter produces a false green signal.
Common causes:
- A glob pattern or path filter no longer matches any test files (e.g., after a directory reorganization).
- Test files were moved but the runner configuration was not updated.
- A new workspace or working directory is missing test files that exist elsewhere in the repository.
- A
--testPathPatternor similar filter accidentally excludes all tests. pytestis invoked from a directory with notest_*.pyfiles.go test ./...runs against a module with no_test.gofiles.
Affected runners and their zero-test signals:
- Jest / Vitest: “No tests found”, “No test suites found”
- pytest: “collected 0 items”, “no tests ran”
- Go test: “0 tests” (implied by empty output)
- Mocha: “0 passing”
- RSpec: “0 examples”
Fix steps
- Run the test command locally and inspect the discovery output.
- Verify the test paths or glob patterns in the runner configuration match
the actual file layout:
find . -name "*.test.*" -o -name "test_*.py" -o -name "*_test.go" - Check whether the working directory or
--rootDiroption points at the correct source tree. - Remove over-restrictive
--testPathPatternor--ignorefilters. - Consider adding a CI assertion that at least N tests were executed.
Validation
Re-run the test command and confirm the output shows at least one test passing. Add a minimum-test-count assertion to the CI pipeline to prevent regression.
Try it locally
Run the test command locally and inspect the 'found N tests' output
find . -name '*.test.*' -o -name 'test_*.py' -o -name '*_test.go' | head -20
How Faultline detects it
Use faultline explain zero-tests-executed to see the full playbook.
faultline analyze build.log
faultline explain zero-tests-executed
Generated from playbooks/bundled/log/silent/zero-tests-executed.yaml. Do not edit directly.