Skipped and focused tests must be marked as intended
Flags tests that are switched off or that switch the rest of the suite off:
- Skipped:
it.skip,test.skip,describe.skip,xit,xdescribe(JS/TS);@pytest.mark.skip,@unittest.skip,pytest.skip(),self.skipTest()(Python);t.Skip()(Go);#[ignore](Rust);@Disabled,@Ignore(Java/Kotlin);Skip =,[Ignore](C#);xit,skip(RSpec). - Focused:
.only,fit,fdescribe. Only the focused tests run, so every other failure goes unseen.
Conditional skips (skipif, skipIf, skipUnless) are not flagged: they
state their condition. Only test files are scanned (*.test.*, *.spec.*,
*_test.go, test_*.py, files under test/, tests/, __tests__/,
spec/, …), plus #[ignore] in any Rust file. Commented-out lines are
ignored.
Why it matters with coding agents: skipping the failing test is the fastest way to a green run, and the diff looks small.
WARN only: nothing is blocked. The frame sees the files as pushed, so it reports every unmarked case present, not only new ones; after a one-time pass to fix or mark the existing ones, each warning is a new shortcut.
Fix#
Fix the test and remove the skip. If the skip is intended, record why:
a whitelist entry with a reason (recorded in the audit log on every push), or
// appframes:disable-next-line app-correctness/no-unmarked-test-skips on the
line above.
WARN lets the push through and records the finding. Turn frames on per repo on the dashboard's Policy page - see choosing what the gate checks.
Source on GitHub Live demo How it works Questions: contact@nimblegate.com