SuperAPI AI 工具集

tdd

测试与质量

查看项目

更新于 10-16 09:48

技能介绍

用途:在 OpenMetadata 项目中强制实施测试驱动开发(TDD),适用于实现新功能或行为、修复缺陷(先写复现测试)、新增 API 端点、连接器或 UI 组件。核心为 RED-GREEN-REFACTOR 循环:RED 阶段编写描述目标行为的最小失败测试,测试必须失败;GREEN 阶段只写让测试通过的最少代码,不加未测试的错误处理、不做泛化、暂不重构;REFACTOR 阶段在测试保持绿色的前提下消除重复、改进命名、必要时抽取方法,并运行模块完整测试套件检查回归。

使用方式:Java 测试写在 openmetadata-service/src/test/ 或 openmetadata-integration-tests/,用 mvn test -pl openmetadata-service -Dtest=YourTestClass#yourTestMethod 运行;Python 先 source env/bin/activate 并进入 ingestion,使用 pytest 风格而非 unittest.TestCase,命令为 python -m pytest tests/unit/your_test.py::test_your_function -v;TypeScript 在 openmetadata-ui/src/main/resources/ui 下用 yarn test path/to/YourComponent.test.ts。重构阶段分别用 mvn spotless:apply、make py_format && make py_format_check、yarn lint:fix 配合测试。

测试分层:Java REST API 用集成测试(openmetadata-integration-tests/,mvn verify),Java 服务逻辑用单元测试(mvn test),Python 连接器用单元测试(ingestion/tests/unit/,pytest),Python 集成测试在 ingestion/tests/integration/,React 组件用同目录 .test.ts 文件(yarn test),UI 端到端流程在 playwright/e2e/(yarn playwright:run)。

限制与反模式:避免先写代码后写测试、过度 mock(只 mock 外部边界,3 个以上 mock 应改集成测试)、断言实现细节而非可观察结果、单个测试验证多个行为、跳过重构。Java 集成测试使用 BaseEntityIT、TestNamespace 与 OpenMetadataClient。技能本身未提供具体收费、平台支持范围等信息。