SuperAPI AI 工具集

integration-testing

测试与质量

查看项目

更新于 10-15 21:36

技能介绍

用途:为 Muni 系统的复杂集成点提供端到端测试指导,包括 Rover 与 Depot 之间的 WebSocket(遥操作、发现、调度)与 UDP(指标)、CAN 总线(VESC 电机控制器、MCU 外设)、PostgreSQL 调度数据库、文件系统(会话录制、同步、回放)以及 GPS/RTK、视频流等外部服务。

主要能力:按组件组织测试方案——Rust 固件与 Depot 服务使用 tokio::test 与 Mock、TypeScript 控制台使用 Vitest 与 Testing Library、Python worker 使用 pytest、系统级使用 Docker Compose。涵盖 Rust 单元测试(同文件 #[cfg(test)] mod tests)与集成测试(独立 tests/ 目录及 common/mod.rs 共享工具)、Tokio 异步测试、测试夹具(如 TestContext 启动 axum 服务)、数据库测试(SQLite 内存库或 testcontainers 起 PostgreSQL 并跑迁移)、CAN 总线 Mock(基于 CanInterface trait 的 MockCan/RealCan)、WebSocket 协议测试(含超时与并行执行,可用 cargo-nextest)、TypeScript/React 组件与 Hook 测试(含 jest-websocket-mock、Zustand store Mock)、Playwright E2E 以及 Python pytest conftest 夹具。

使用方式:按资料中的目录结构与示例组织测试文件,运行对应命令,例如 cargo nextest run、cargo nextest run test_name、cargo nextest run --nocapture,以及 docker compose -f docker-compose.test.yml up --abort-on-container-exit。

适用场景:在改动 Rover↔Depot 通信、CAN 指令、调度数据库或前端遥操作流程时验证集成行为。

限制:资料未提供具体版本约束、性能指标、收费方式或平台支持范围;示例代码需结合项目实际结构调整,部分内容(如 Python splat-worker 测试)资料截断,暂未提供完整细节。