← Back to list

test-creator
by Tomodo1773
投資管理のための論理的なソリューション。詳細な株式取引履歴、資産評価、配当記録を提供します。
⭐ 0🍴 0📅 Jan 25, 2026
SKILL.md
name: test-creator description: | [src/api専用] バックエンド(Python/FastAPI)のテストコードを作成する際に使用します。 ユニットテスト、統合テスト、エンドツーエンドテストなど、あらゆる種類のテストコードを生成するためにこのスキルを利用してください。
テストコード作成スキル
このスキルは、テストコードを生成するためのガイドラインと手順を提供します。
テストの実装方針
基本原則
- カバレッジだけを追い求めず、開発者が認知・管理できる範囲に留める
- 正常系を中心にテストを実装
- 異常系は必要最低限のものに限定
- 1人開発のため、過度な品質は追求しない
- 外部API中心でほぼモックになるテストは価値が見合わないため実装しない
- APIを経由したデータ作成: テストデータの作成は原則としてAPIエンドポイントを使用する(直接データベースに挿入しない)
- 取引:
create_transactionフィクスチャを使用 - 配当:
create_dividendフィクスチャを使用 - これにより実際のビジネスロジック(保有株の自動更新など)が正しく動作することを保証
- 取引:
- 共通フィクスチャの活用:
conftest.pyに定義された共通フィクスチャを積極的に利用する - 新規フィクスチャの追加: 複数のテストで再利用可能なセットアップロジックは
conftest.pyに追加する
データベースとトランザクション
- 各テストは独立したPostgreSQLデータベースで実行される(testcontainers使用)
db_sessionフィクスチャはトランザクション内で動作し、テスト終了後に自動ロールバック- テンプレートデータベース方式により初期化を高速化
- 認証トークン取得時は独立したセッションでユーザーを作成・コミット(他のセッションから参照可能にするため)
認証
- 一般ユーザー:
auth_tokenフィクスチャ(username: "testuser") - 管理者ユーザー:
auth_admin_tokenフィクスチャ(username: "adminuser") - APIリクエストには
headers={"Authorization": f"Bearer {auth_token}"}を指定
外部APIのモック
mock_external_apisフィクスチャが全テストに自動適用(autouse=True)- モック対象:
- AlphaVantage API(米国株情報、為替レート)
- J-Quants API(日本株情報)
- Yahoo Finance(株価取得)
- 株価の挙動: 初回と2回目以降で異なる値を返す
- 日本株: 1回目 3000.0円、2回目以降 3100.0円
- 米国株: 1回目 36000.0円、2回目以降 37500.0円(円換算済み)
- 外部APIを実際に呼び出すテストは不要(モック化されているため)
テストデータのセットアップ
- 日本株:
setup_japanese_stock_dataフィクスチャ(8058を100株、3000円で買付) - 米国株:
setup_us_stock_dataフィクスチャ(AAPLを10株、36054円で買付) - 配当:
setup_dividend_dataフィクスチャ(日本株・米国株の配当データ) - ポートフォリオ:
setup_portfolio_test_dataフィクスチャ(日本株・米国株・配当の全データ) - これらのフィクスチャを組み合わせて、テストに必要な初期状態を構築する
HTTPクライアント
- 非同期テスト:
clientフィクスチャ(AsyncClient) - 同期テスト:
sync_clientフィクスチャ(TestClient) - データベース接続は自動的にテスト用にオーバーライドされる
Instructions
-
テスト実装方針を確認する
- 上記の「テストの実装方針」セクションを読み、プロジェクト固有のルールを理解する
- 外部APIは自動的にモック化されているため、実際の呼び出しは不要
-
テスト計画を立てる
- 何をテストするか明確にする
- 既存のフィクスチャ(
auth_token、create_transaction、create_dividend、setup_japanese_stock_dataなど)を活用できるか確認
-
テストを実装する
- テストデータはAPIを経由して作成(
create_transaction、create_dividendフィクスチャを使用) - 認証が必要なエンドポイントは適切なトークンをヘッダーに含める(
headers={"Authorization": f"Bearer {auth_token}"}) - 新しい共通セットアップが必要なら
conftest.pyに追加する
- テストデータはAPIを経由して作成(
-
テストを実行して検証する
- 作成したテストコード単体を
uv run pytest <test_file>で実行 - テストが正しく動作することを確認する
- 作成したテストコード単体を
-
元の処理に戻る
Score
Total Score
60/100
Based on repository quality metrics
✓SKILL.md
SKILL.mdファイルが含まれている
+20
✓LICENSE
ライセンスが設定されている
+10
○説明文
100文字以上の説明がある
0/10
○人気
GitHub Stars 100以上
0/15
○最近の活動
3ヶ月以内に更新がある
0/10
○フォーク
10回以上フォークされている
0/5
✓Issue管理
オープンIssueが50未満
+5
✓言語
プログラミング言語が設定されている
+5
○タグ
1つ以上のタグが設定されている
0/5
Reviews
💬
Reviews coming soon