detect-bullshit-tests
A bullshit test looks like coverage but proves nothing. It passes whether or not the code under test is correct, so it protects nothing and lies about the safety net. Two flavours:
- No behavior checked — the test exercises code but never asserts on the result that matters, or asserts something that holds regardless of the code being right.
- Truism — the assertion restates the language, the framework, or the test's own setup; it can never fail while those hold.
Your job: scan the target tests, flag every bullshit test with the reason, and end with a results list carrying a suggested action per finding.
Scope
Default target: test files changed on the current branch vs the main branch. Get them with git diff --name-only <main>...HEAD filtered to test paths. If the user pointed at specific files, directories, or a different range, use that instead.
Read every targeted test in full — the setup decides whether an assertion is a truism, so an assertion line alone never settles it.
What counts as bullshit
Judge each test against these classes. A test is bullshit if it matches one; quote the offending line in the finding.