Consolidate Python ignore rules into root gitignore

This commit is contained in:
Hiroaki86
2026-05-27 23:01:28 +09:00
commit fa3394415d
399 changed files with 509103 additions and 0 deletions
@@ -0,0 +1,46 @@
---
applyTo: "tests/**/*.py"
---
# Pytest Instructions
## Basic Rules
- pytest を使用する。
- AAA パターンで書く。
- 1テスト1責務にする。
- 1テスト1Actにする。
- テスト名は `test_<対象>_<条件>_<期待結果>` にする。
## Arrange / Act / Assert
- Arrange: 前提データ、fixture、mockを準備する。
- Act: 対象処理を1回だけ実行する。
- Assert: 結果を検証する。
## Fixtures
- fixture は前提条件の名前にする。
- fixture には assert を書かない。
- fixture にテストロジックを書かない。
- Arrange が長くなる場合は fixture 化する。
## Parametrize
- 分岐、境界値、異常系は `pytest.mark.parametrize` を優先する。
- テスト内で if/else を増やしすぎない。
## Exception Test
- 例外テストでは `pytest.raises(..., match=...)` を使用する。
- 例外の型だけでなく、必要に応じてメッセージも検証する。
## Mock / Integration
- Unit TestではDB、ファイルI/O、現在時刻、外部APIをmockする。
- Integration Testには `@pytest.mark.integration` を付ける。
- 通常実行では以下を使用する。
```bash
uv run pytest -m "not integration"
```