Bundles the 2026-07-12 code-audit session (Clusters A/B/C/D partial/E/F): denormalized Post/Advertisement reaction/comment/repost counters synced transactionally instead of live _count queries; real cursor-based pagination for followers/following/blocks lists; assertPetOwnership + formatRelativeTime centralized; dead r2.ts + AWS SDK deps removed; missing DB indexes added; account-deletion flow, mention notifications, pull-to-refresh feed, and mobile UI/i18n fixes from the surrounding sessions. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
39 lines
581 B
Markdown
39 lines
581 B
Markdown
---
|
|
paths:
|
|
- "**/*.py"
|
|
- "**/*.pyi"
|
|
---
|
|
# Python Testing
|
|
|
|
> This file extends [common/testing.md](../common/testing.md) with Python specific content.
|
|
|
|
## Framework
|
|
|
|
Use **pytest** as the testing framework.
|
|
|
|
## Coverage
|
|
|
|
```bash
|
|
pytest --cov=src --cov-report=term-missing
|
|
```
|
|
|
|
## Test Organization
|
|
|
|
Use `pytest.mark` for test categorization:
|
|
|
|
```python
|
|
import pytest
|
|
|
|
@pytest.mark.unit
|
|
def test_calculate_total():
|
|
...
|
|
|
|
@pytest.mark.integration
|
|
def test_database_connection():
|
|
...
|
|
```
|
|
|
|
## Reference
|
|
|
|
See skill: `python-testing` for detailed pytest patterns and fixtures.
|