api-integration-test-scaffolder
Generates integration tests for frontend → backend → Genkit flow connections. Use when creating E2E API tests.
安装与使用
请根据来源仓库和你的 AI 工具说明安装此技能。先阅读技能文件和依赖要求,再添加到工作流。
查看来源 ↗使用指南技能说明
API Integration Test Scaffolder Workflow
This skill creates comprehensive integration tests that validate the complete data flow from frontend to backend to AI flows.
Workflow Steps
-
Identify integration to test:
- Ask for frontend service function (e.g.,
aiServices.generateKscResponses) - Find corresponding backend endpoint
- Identify associated Genkit flow (if any)
- Determine test scenario (success, validation, error)
- Ask for frontend service function (e.g.,
-
Generate integration test file:
- Read template:
.claude/skills/api-integration-test-scaffolder/templates/integration_test.py.tpl - Replace placeholders:
-
{{TEST_NAME}}- Descriptive test name -
{{ENDPOINT_PATH}}- API endpoint path -
{{REQUEST_DATA}}- Sample request payload -
{{EXPECTED_RESPONSE}}- Expected response structure -
{{GENKIT_FLOW}}- Associated Genkit flow name
-
- Write to:
backend/app/tests/integration/test_{{feature_name}}_integration.py
- Read template:
-
Include test scenarios:
- ✅ Happy path: Valid request → successful response
- ⚠️ Validation: Invalid data → 422 validation error
- 🔒 Authentication: Unauthorized → 401 error
- ❌ Error handling: Server error → 500 with proper message
- 🔄 Genkit flow: Verify flow execution and caching
- 📊 Response validation: Type checking, required fields
-
Add mock setup:
- Mock Firebase Auth dependencies
- Mock Genkit flow responses (optional)
- Mock external services (email, storage, etc.)
- Set up test database/Firestore
-
Report success:
- Show test file path
- Display test coverage (scenarios included)
- Provide command to run tests
- Show example test execution output
Template Structure
# backend/app/tests/integration/test_{{FEATURE}}_integration.py
import pytest
from httpx import AsyncClient
from unittest.mock import AsyncMock, patch
from app.main import app
from app.models.{{MODEL}} import {{REQUEST_MODEL}}, {{RESPONSE_MODEL}}
@pytest.fixture
async def async_client():
async with AsyncClient(app=app, base_url="http://test") as client:
yield client
class Test{{FEATURE}}Integration:
\"\"\"Integration tests for {{FEATURE}} frontend → backend → flow.\"\"\"
@patch("app.core.dependencies.get_current_user")
async def test_complete_flow_success(self, mock_auth, async_client):
# Test implementation
pass
# Additional test methods...
Example Usage
User: Create an integration test for the KSC generation feature
Assistant: I'll create a comprehensive integration test...
Files created:
- backend/app/tests/integration/test_ksc_generation_integration.py
Test scenarios included:
✅ Happy path: Valid job description → KSC responses
⚠️ Validation: Empty job description → 422 error
🔒 Authentication: No auth token → 401 error
🔄 Genkit flow: Verify generateKscResponse flow execution
📊 Response validation: Check response structure and types
Run tests:
pytest backend/app/tests/integration/test_ksc_generation_integration.py -v
使用示例
查看来源仓库中的使用示例与配置说明。
查看来源 ↗来源历史
- 收录时间
- 2026-01-20
- 索引更新时间
- 2026-03-03
- Branch
- main
收录与同步日期属于本站记录。源码修改历史请查看来源仓库。
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!