Hướng dẫn Kiểm thử
Thiết lập Môi trường
Python SDK
cd py
# Cài đặt phụ thuộc + công cụ dev (pytest, pytest-asyncio, pytest-httpx, ruff, mypy)pip install -e ".[dev]"Tạo py/.env (chỉ cần cho integration tests):
IMBRACE_API_KEY=api_xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxIMBRACE_GATEWAY_URL=https://app-gatewayv2.imbrace.coIMBRACE_ORGANIZATION_ID=org_xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxTypeScript SDK
cd tsnpm installPython — Chạy & Kiểm thử
Unit Tests (Không cần API key)
cd py
# Chạy tất cả unit testspytest tests/unit -v
# Chạy một tệp cụ thểpytest tests/unit/test_http.py -vpytest tests/unit/resources/test_channel.py -v
# Chạy một test case cụ thểpytest tests/unit/test_http.py::test_401_raises_auth_error -v
# Chạy theo từ khóapytest tests/unit -k "channel" -vpytest tests/unit -k "boards" -vIntegration Tests (Yêu cầu API key thực)
Integration tests thực hiện các lời gọi thực đến API Gateway.
cd py
# Tùy chọn 1: Đặt key trực tiếp trong lệnhIMBRACE_API_KEY=api_xxx pytest tests/integration -v -m integration
# Tùy chọn 2: Sử dụng .env (conftest.py tự động tải qua load_dotenv)pytest tests/integration -v -m integrationChạy Tất cả (Unit + Integration)
pytest tests/ -vBáo cáo Độ phủ
pytest-covkhông được bao gồm theo mặc định. Cài đặt riêng:pip install pytest-cov
pytest tests/unit --cov=src/imbrace --cov-report=term-missingTypeScript — Chạy & Kiểm thử
Xây dựng
cd ts
# Xây dựng một lầnnpm run build
# Xây dựng ở chế độ watch (tự động xây dựng lại khi thay đổi)npm run dev
# Dọn dẹp dist/npm run cleanUnit Tests (Không cần API key)
cd ts
# Chạy tất cả unit testsnpm test
# Chạy một tệp cụ thểnpx vitest run tests/unit/http.test.tsnpx vitest run tests/unit/resources/contacts.test.ts
# Chế độ watch (tự động chạy khi thay đổi mã)npm run test:watchChạy Tất cả (Unit + Local Tests)
npm run test:allLệnh này chạy vitest trên toàn bộ dự án (unit + bất kỳ tệp cục bộ nào khớp với mẫu kiểm thử). TypeScript integration tests chưa có sẵn — xem py/tests/integration/ để kiểm tra API trực tiếp, hoặc ts/tests/local/ để có các script kiểm thử trực tiếp thủ công.
Lint & Type Check
Python
cd py
# Kiểm tra code styleruff check src/ tests/
# Tự động sửa lỗi ruff có thể sửa đượcruff check src/ tests/ --fix
# Kiểm tra type annotationsmypy src/imbraceTypeScript
cd ts
# Kiểm tra typenpm run typecheck
# Lintnpm run lint