CI Testing
ELI5 — The Vibe Check
CI Testing is running all your tests automatically every time someone pushes code. The CI server (like GitHub Actions) runs them in the cloud, and if anything fails, it blocks the merge. It's like having a robot QA engineer that never sleeps and never lets bad code through.
Real Talk
CI (Continuous Integration) testing automatically executes the test suite on every commit or pull request. It provides fast feedback on regressions, enforces quality gates before merging, and runs in an isolated environment. Failing CI blocks deployment until tests are green.
Show Me The Code
# .github/workflows/test.yml
name: Tests
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm ci
- run: npm test -- --coverage
When You'll Hear This
"CI testing caught a regression before it hit production." / "Don't disable CI tests just because they're slow — fix them."
Related Terms
Coverage
Coverage tells you what percentage of your code is actually tested. 80% coverage means 80% of your lines are touched by at least one test.
Regression Test
A regression test is a test you write AFTER fixing a bug, to make sure that bug never comes back.
Smoke Test
A smoke test is the most basic sanity check: does the app even start? Does it not immediately crash?
Test Environment
A test environment is a separate version of your app just for running tests.
Test Runner
A test runner is the thing that actually runs your tests and tells you which ones passed and which ones failed.