-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Labels
communityCommunity engagement, conferences, and social mediaCommunity engagement, conferences, and social mediamarketingMarketing, promotion, and community outreachMarketing, promotion, and community outreachpriority-highHigh: Important issue that should be resolved soonHigh: Important issue that should be resolved soon
Description
Parent Epic
Part of #171 - Marketing and Community Outreach for v1.0.0 Launch
Summary
Create an engaging Twitter/X thread announcing pytest-test-categories v1.0.0 with code examples, visuals, and a clear value proposition.
Thread Structure (10-12 tweets)
Tweet 1 (Hook)
Flaky tests are a symptom, not the disease.
The disease is tests with hidden external dependencies.
I just released pytest-test-categories v1.0.0 - a pytest plugin that
enforces hermetic testing.
No escape hatches. No excuses.
Thread
Tweet 2 (The Problem)
Your "unit test" that passes locally but fails in CI?
It's probably hitting:
- The network
- The filesystem
- A database
- A subprocess
These aren't unit tests. They're integration tests wearing a disguise.
Tweet 3 (The Solution)
pytest-test-categories categorizes your tests:
SMALL (1s max): Pure logic, no external resources
MEDIUM (5min max): Database, filesystem, local services
LARGE (15min max): External services, full E2E
XLARGE: Exceptional cases only
[Image: Test pyramid diagram]
Tweet 4 (Code Example - Basic)
Getting started is one line:
pip install pytest-test-categories
Then mark your tests:
@pytest.mark.small
def test_pure_logic():
assert calculate(2, 2) == 4
[Image: Code screenshot]
Tweet 5 (Enforcement)
Try to hit the network in a small test?
BLOCKED.
NetworkAccessViolationError: Small test test_api_call
attempted network access.
Small tests must be hermetic (no external resources).
[Image: Error output]
Tweet 6 (Distribution Validation)
Not just enforcement - validation.
pytest-test-categories checks your test pyramid:
- 80% small (fast, hermetic)
- 15% medium (some I/O)
- 5% large (full integration)
Fall outside? Get warned.
Tweet 7 (The Philosophy)
"But what if I NEED to hit the network?"
Then it's not a small test.
The "no escape hatches" philosophy is intentional.
pytest.mark.skip(reason="flaky") is a code smell.
Per-test overrides spread like wildfire.
Tweet 8 (Integration)
Works where you need it:
pytest-xdist (parallel)
JSON reports for CI/CD
GitHub Actions ready
Zero config defaults
<1% performance overhead
Tweet 9 (Inspiration)
Inspired by Google's "Software Engineering at Google" book.
Hermetic testing + test pyramid = predictable, fast, reliable tests.
The kind you can actually trust.
Tweet 10 (CTA)
Ready to tame your flaky tests?
GitHub: github.com/mikelane/pytest-test-categories
Docs: pytest-test-categories.readthedocs.io
PyPI: pip install pytest-test-categories
Star if you're tired of "works on my machine"
Visual Assets Needed
- Testing pyramid diagram (clean, branded)
- Code screenshot (dark mode, syntax highlighted)
- Error output screenshot
- Before/after comparison
Accounts to Tag/Engage
- @pytest (pytest official)
- @pythonweekly
- @realpython
- @testlooptest
- Relevant Python influencers
Timing
- Tuesday or Wednesday, 10am-12pm EST
- Thread the tweets rapidly (within 2-3 minutes)
- Be ready to engage for 2+ hours after
Success Metrics
- 100+ likes on first tweet
- 50+ retweets across thread
- 500+ impressions
- Engagement from Python accounts
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
communityCommunity engagement, conferences, and social mediaCommunity engagement, conferences, and social mediamarketingMarketing, promotion, and community outreachMarketing, promotion, and community outreachpriority-highHigh: Important issue that should be resolved soonHigh: Important issue that should be resolved soon