
OpenMetadata 治理功能 Playwright E2E 测试覆盖全景指南Custom Properties、Domains、Glossary、Tags 与 Data Contracts【免费下载链接】OpenMetadataThe Open Context Layer for Data and AI , OpenMetadata is the open platform for building trusted data context and business semantics for humans, AI assistants, and agents.项目地址: https://gitcode.com/GitHub_Trending/op/OpenMetadata本篇指南以 OpenMetadata 仓库中自动生成的 E2E 测试覆盖文档openmetadata-ui/src/main/resources/ui/playwright/docs/Governance.md为骨架系统梳理治理Governance域六大组件——自定义属性Custom Properties、指标Metrics、域与数据产品Domains Data Products、术语表Glossary、标签Tags与数据契约Data Contracts——共 63 个测试文件、933 条测试、1598 个场景的完整覆盖矩阵。读完本文你将掌握如何阅读这份自动生成的文档、理解其统计口径Tests 与 Scenarios 的区别、定位六大组件各自的测试文件与关键用例并能结合仓库源码把文档映射到真实的 Playwright spec 与测试工具链从而在 OpenMetadata 治理功能开发或回归验证中精准选用测试。文档定位治理域的 E2E 测试地图Governance.md是 Playwright E2E 测试文档体系中的治理域专册。它与docs/README.md总索引、Discovery.md、Platform.md、Observability.md、Integration.md共同构成 OpenMetadata UI 的端到端测试文档全集。总索引中对治理域的汇总为6 Components | 933 Tests | 1598 Scenarios其六大组件明细如下组件文件数测试数场景数Custom Properties7354376Glossary24267310Domains Data Products18162234Data Contracts396599Tags84563Metrics3916从数量上看数据契约Data Contracts虽然只有 3 个文件却贡献了 599 个场景是场景密度最高的组件自定义属性与术语表则以文件多、用例全著称。这张表直观回答了治理功能在 UI 层被哪些自动化用例守护这一问题。文档是怎么生成的doc-generator 工具链这份文档并非手写而是由仓库内的定制工具自动生成源码位于openmetadata-ui/src/main/resources/ui/playwright/doc-generator/由三个模块协作generate.js编排器定义DOMAIN_MAPPING按文件名关键词把测试归入 Governance / Discovery / Platform / Observability / Integration 等域与对应组件。例如治理域映射规则包括Glossary → Glossary、Tag/Classification → Tags、Metric → Metrics、CustomProperty/Customproperties → Custom Properties、Domain/DataProduct → Domains Data Products、DataContract → Data Contracts等。playwright-loader.js数据提供通过npx playwright test --list --reporterjson从 Playwright 自身获取测试清单执行期间生成临时playwright.docs.temp.config.ts确保被忽略的含 nightly测试也纳入发现范围再用 TypeScript Compiler APItypescript包解析 spec 源码抽取test.step(Step Name, ...)调用以获得步骤级细节并读取 JSDoc 注释作为测试描述。markdown.js渲染器提供generateIndexMarkdown/generateDomainMarkdown模板函数负责生成最终.md文件。统计口径Tests 与 Scenarios 的区别文档中每个 spec 文件的括号里都标注了两组数字例如Customproperties-part1.spec.ts(191 tests, 195 scenarios)。其计算逻辑定义在markdown.js中Tests源码中test(...)块的原始数量Total Scenarios(Steps 0 ? Steps : 1)即若某测试包含步骤test.step每个步骤计为一个场景若无步骤该测试本身计为一个场景。因此场景数更能反映测试的真实深度。这也是为什么DataContracts.spec.ts48 tests能产生 423 个场景——其核心测试通过大量test.step驱动完整业务流程。分类优先级与手动生成文档归类遵循三级优先级显式标签Domain:Component最高→ 合法域标签 文件名匹配 → 纯文件名回退。如需手动重新生成文档可在仓库根目录执行yarn generate:e2e-docs输出写入docs目录。仓库 CIupdate-playwright-e2e-docsworkflow会在主分支上自动检测文档变更并开 PR。说明Governance.md页头标记Last updated: 2026-03-09而部分被引用的 spec 文件如Customproperties-part1.spec.ts在当前分支中已见拆分演化可对照现存于e2e/Pages/的CustomProperties.spec.ts、CustomPropertiesApiContract.spec.ts阅读时建议以文档表格为覆盖索引、以当前分支实际 spec 为执行依据。组件一Custom Properties自定义属性自定义属性是 OpenMetadata 扩展实体元数据模型的核心机制允许在标准字段之外为实体附加自定义字段。该组件共 7 个文件、354 条测试、376 个场景是治理域中用例数量最多的组件。覆盖的数据类型无配置项场景Customproperties-part1.spec.ts191 tests集中验证不需要额外配置的 10 种基础类型Integer、String、Markdown、Duration、Email、Number、Sql Query、Time Interval、Timestamp、Hyperlink。测试在多个实体上反复创建并校验每种属性典型代表如sqlQuery shows scrollable CodeMirror container and no expand toggle用例其步骤链为创建 sqlQuery 属性 → 设置多行 SQL 值 → 验证.CodeMirror-scroll高度受限且可滚动 → 验证展开/收起开关隐藏 → 清理属性。这类用例不仅验证字段写入还验证了 UI 渲染细节如 CodeMirror 容器行为。带配置项的属性类型Customproperties-part2.spec.ts135 tests覆盖需要配置项的类型Enum多选/单选枚举值、Table表格型属性、Entity Reference、Entity Reference List、Date、Time、Date Time。代表性用例包括entityReferenceList shows item count, scrollable list, no expand toggle创建 Entity Reference List 属性 → 设置 5 个用户引用 → 验证属性名中显示数量5→ 验证.entity-list-body可滚动 → 验证展开/收起开关隐藏 → 清理属性table-cp shows row count, scrollable container, no expand toggle创建表格属性 → 添加 5 行数据 → 验证行数5→ 验证.custom-property-scrollable-container可滚动。配置项的典型取值可参考测试常量openmetadata-ui/src/main/resources/ui/playwright/constant/customProperty.ts枚举配置enumConfig含values与multiSelect日期格式yyyy-MM-dd时间格式HH:mm:ss实体引用类型[User, Team, Metric]表格配置tableConfig含columns列表。同文件还列出了自定义属性的支持实体清单包括 Database、DatabaseSchema、Table、StoreProcedure、Topic、Dashboard、Pipeline、Container、MlModel、GlossaryTerm、SearchIndex、DataModel、ApiCollection、ApiEndpoint、DataProduct、Metric、Domain、Chart 与 TableColumn——这解释了为什么文档中同一属性类型会在多个实体上重复验证。高级搜索、搜索设置与安全CustomPropertyAdvanceSeach.spec.ts19 tests针对 Dashboard 实体为 16 种属性类型逐一验证其全部操作符all operators的高级搜索过滤能力包括 String、Email、Markdown、SQL Query、Duration、Time、Integer、Number、Timestamp、Entity Reference、Entity Reference List、DateTime、Date、Enum、Time Interval、Hyperlink以及 Table 属性的 Name/Role/Sr No 三列操作符。HyperlinkCustomProperty.spec.ts4 tests聚焦 XSS 防护——拒绝javascript:协议 URL、接受合法http/httpsURL、无显示文本时直接展示 URL、无值时显示 No Data 占位符。CustomPropertySearchSettings.spec.ts3 tests验证 Dashboard 与 Pipeline 的自定义属性可被配置进搜索设置并可通过属性值检索到实体、且字段在搜索设置中持久化。AdvanceSearchCustomProperty.spec.ts验证 Duration 类型属性的创建、赋值与高级搜索。EnumCustomPropertyWidget.spec.ts验证 Table 右侧面板中 Enum 属性的添加值、验证、移除值的完整交互。组件二Metrics指标Metrics 组件共 3 个文件、9 条测试、16 个场景守护 OpenMetadata 指标实体的建模与维护能力Metric.spec.ts6 tests位于e2e/Flow/指标创建流程、Metric Type 更新、Unit of Measurement计量单位更新、Granularity粒度更新、metric expression 更新、Related Metrics 更新。CustomMetric.spec.ts2 testsTable 自定义指标与 Column 自定义指标的创建/删除。MetricCustomUnitFlow.spec.ts1 test, 6 scenarios完整验证计量单位生命周期——创建指标 → 验证初始单位 → 更新为 Dollars → 移除单位 → 设回 Percentage → 删除指标清理。组件三Domains Data Products域与数据产品该组件 18 个文件、162 条测试、234 个场景是治理域中交互面最广的组件覆盖域的层级结构域/子域/数据产品、资产归属、RBAC、重命名、自定义属性、公告、版本历史等。核心页面级测试Domains.spec.ts40 tests, 69 scenarios域与数据产品的创建、资产增删、关注/取消关注、子域嵌套与关注、域删除后数据产品资产清理、从父域继承 owner 与 expert、资产计数准确性含子域计数汇总、域的数据产品数包含子域数据产品、标签与术语表、TagSuggestion 创建带标签的域/子域、重命名域含多级子域 FQN 传播、标签/术语表/资产/owner 关联保持、重复域创建校验、域自定义属性持久化、域/数据产品公告的增改删、描述被删除后 UI 优雅降级JsonInclude(NON_NULL)场景等。另有 Domain Rename Comprehensive Tests10 条专注重命名关联保持、Domains RbachasDomain()/noDomain()规则下的资产访问控制与 Domain Tree View Functionality。DataProducts.spec.ts8 tests, 43 scenarios数据产品列表页初始加载、创建与管理资产、搜索、表格/卡片视图切换、分页创建 30 个数据产品验证翻页、空状态、关注/取消关注、TagSuggestion 创建带标签的数据产品。DomainUIInteractions.spec.ts20 tests域 owner/expert 管理、样式编辑icon URL、数据产品重命名/删除/添加 owner、子域删除/重命名、表单校验特殊字符、最大长度、描述必填、域内资产搜索、全局下拉过滤 Explore、面包屑导航、删除含子域/资产的域时的警告提示、复制域 FQN。DomainAdvanced.spec.ts19 tests域 expert 权限、资产跨域移动含域→子域、子域访问权限、版本历史、描述编辑、批量添加/移除资产、跨域访问拒绝、域类型行为Source System / Consumer-aligned、数据产品间移动资产、域搜索与过滤。DataProductAndSubdomains.spec.ts17 tests数据产品创建/描述编辑/expert/标签/资产计数、与子域的关联、多兄弟子域、嵌套子域、同级子域导航、子域资产计数反映到父域、删除带数据产品的子域清理。DomainDataProductsRightPanel.spec.ts9 tests域上下文内点击数据产品卡片打开右侧面板验证概览、描述编辑、标签、Tier、owner 编辑及不显示术语表区块等。SubDomainPagination.spec.ts子域计数与分页功能。特性与权限级测试DomainFilterQueryFilter.spec.ts12 tests域过滤器在 Explore 页的可见性、子域资产在父域选择时可见、过滤器跨页面导航持久化、不同资产类型协同、3 层域层级作用域、搜索建议按域过滤、精确匹配加点前缀防误报exact match and prefix with dot、快速过滤器共存、域资产页/数据产品页不显示其他域内容。DomainTierCertificationVoting.spec.ts8 tests域与数据产品的 Tier、Certification 分配/更新/移除UpVote/DownVote以及无编辑按钮的只读校验。DomainDataProductsWidgets.spec.ts6 tests首页 Widget 的域/数据产品资产计数随增删实时更新。DataProductRename.spec.ts与DataProductRenameConsolidation.spec.ts重命名保持资产关联、仅更新 display name 不改 name、连续多次重命名、重名报错、重命名与描述/标签/owner 变更组合后的资产保持。DataProductPermissions.spec.ts、DomainPermissions.spec.tsallow/deny 操作矩阵与 expert 编辑权限。SampleDataDomainDataProduct.spec.ts验证样本数据摄入产生的 TestDomain 与 TestDataProduct。DataProductDomainMigration.spec.ts通过 API 迁移数据产品域时资产随迁、无资产时无需确认。DataProductPersonaCustomization.spec.ts数据产品页面 Persona 定制默认全 tab/widget、应用定制、标签自定义渲染。组件四Glossary术语表术语表组件 24 个文件、267 条测试、310 个场景规模最大覆盖术语表 CRUD、层级管理、审批工作流、资产关联、导入导出、版本、权限与性能。页面级核心测试Glossary.spec.ts45 tests, 70 scenarios以 user/team 作为 reviewer 的术语表与术语创建审批流、术语表/术语更新、数据术语增改验证、列表页批准与拒绝、资产增删、术语重命名后资产页联动、资产选择模态框过滤、拖拽调整层级含带 reviewer 的已批准术语、菜单方式跨术语表调整层级、给实体分配术语并核对资产、为术语表/术语发起描述任务与标签任务、删除模态框、异步删除WebSocket 失败恢复、多次删除混合结果、嵌套术语展开全部、术语表表格列选择/可见性/拖拽排序、状态过滤、更新后树结构保持、术语内嵌子术语、重复术语校验含带点术语表名、权限拒绝、reviewer 修改后术语保持已批准、带域创建术语表、切换语言后删除、描述删除后的优雅处理、全部可选字段创建、行操作按钮建术语、同义词/引用/相关术语/标签/owner 创建、显示名编辑、重命名、取消删除等。GlossaryAdvancedOperations.spec.ts27 tests互斥开关、多 owner、owner/reviewer 替换、域移除/变更、样式颜色/icon URL设置与更新、同义词清空、引用名/URL 编辑与移除、相关术语/owner/reviewer/标签移除、取消创建、双向相关术语链接、超长名/超长描述、名称超限报错。GlossaryP3Tests.spec.ts23 testsUnicode 名称、样式 API 移除、特殊字符搜索、投票计数、活动流评论/编辑/删除、浏览器前进后退、加载状态、右侧面板、并发编辑、慢网络、会话保持、深层嵌套、快速交互、多并发 API、不存在术语表/术语的错误态、引用 URL 的 http/https 前缀校验。GlossaryCRUDOperations.spec.ts13 tests带标签/owner/描述创建、互斥开启、同义词/引用、owner/reviewer/标签移除、父术语级联删除、拖拽父术语、tab 导航、行操作建子术语、带标签建术语、同义词移除。GlossaryAssets.spec.ts10 tests向术语添加 topic/pipeline 资产、资产卡片摘要面板、资产内搜索、移除资产、实体页移除术语标签、批量移除资产、按实体类型过滤、Add Assets 下拉、资产分页。工作流、状态机与层级GlossaryWorkflow.spec.ts10 tests术语状态机——无 reviewer 时术语直接 Approved有 reviewer 时从 Draft 开始继承术语表 reviewer状态徽标 hover 显示工作流历史术语详情页查看历史非 reviewer 看不到批准/拒绝按钮owner 非 reviewer 也看不到非 reviewer 编辑已批准术语会改变状态父术语级联删除。GlossaryStatusFilterLargeDataset.spec.ts19 tests与GlossaryStatusFilterNestedTerms.spec.ts19 tests在大数据集与嵌套术语两种形态下验证 Draft/Approved/In Review/Deprecated/Rejected 五种状态过滤、多状态组合、分页保持、搜索与状态过滤协同、展开全部、5 层嵌套的扁平化命中结果、父链不匹配时叶子命中等边界。GlossaryHierarchy.spec.ts6 tests术语移回根、跨术语表移动、带子术语移动、取消移动、5 层导航、取消拖拽。GlossaryPagination.spec.ts术语/嵌套术语搜索、大小写不敏感、空结果、InReview 与多状态过滤。GlossaryBulkOperations.spec.ts批量编辑页导航、多术语选择、禁止父拖入自身子级、互斥开关切换。GlossaryExpandAllWithStatusFilter.spec.ts4 tests, 9 scenarios展开全部与状态过滤的交互Draft/Approved 过滤下展开可见性、MixedStatusChild 挂在 ApprovedParent 下的显示。权限、导入导出与版本GlossaryPermissions.spec.ts9 testsallow/deny、仅 EditDescription、仅 EditOwners、仅 EditTags、仅 Delete、仅 Create、ViewBasic 只读、基于团队权限。GlossaryImportExport.spec.ts7 tests, 18 scenarios导出数据术语详情、导入新增术语、版本历史记录批量导入、循环引用报错、缺失必填字段、无效父引用、部分成功混合有效/无效术语、大数据量导出、CSV 层级结构保持。GlossaryVersionPage.spec.ts7 tests术语表/术语版本变更、owner/reviewer 变更展示、版本间导航、返回当前版本、同义词/引用/相关术语变更的 diff。GlossaryTermRightPanel.spec.ts10 tests术语资产 tab 的右侧面板上下文操作tab 显示、描述编辑、名称链接、概览、标签、Tier、owner、域、术语编辑。GlossaryNavigation.spec.ts9 tests术语表/术语页 tab 导航、面包屑、嵌套术语深链、空状态、活动流查看与评论。LargeGlossaryPerformance.spec.ts9 tests大数据量分页、搜索过滤、展开/折叠全部、展开单项、滚动位置保持、状态过滤、术语计数、拖拽排序、海量子术语分页。GlossaryRemoveOperations.spec.ts、GlossaryTermDetails.spec.ts、GlossaryMiscOperations.spec.ts、GlossaryP2Tests.spec.ts、GlossaryFormValidation.spec.ts分别覆盖 owner/reviewer/标签增删、同义词/引用/相关术语增删、删除术语表/术语后资产标签清理、子 FQN 随父重命名更新、禁止拖到自身、特殊字符名、工作流历史、Draft 状态、列设置自定义属性选项、空名称/空描述/重复名报错。源码佐证e2e/Pages/Glossary.spec.ts中可看到test.describe(Glossary tests, ...)与成对的test.step(Create Glossary, ...)、test.step(Create Glossary Terms, ...)、test.step(Approve Glossary Term from Glossary Listing for reviewer user, ...)等步骤调用与文档表格中↳步骤行一一对应——这正是 doc-generator 抽取步骤的来源。组件五Tags标签Tags 组件 8 个文件、45 条测试、63 个场景覆盖分类Classification与标签的管理、权限角色差异、建议流程与系统级行为。Tag.spec.ts21 tests, 28 scenarios按角色分四组验证——Admin 角色标签 UI、Certification 页无 Asset 按钮、重命名、样式、描述编辑、删除、资产增删与 EntityType 过滤、带域建标签、owner 增删、启用/禁用开关、分类禁用时开关禁用、Data Consumer 角色UI、无 Asset 按钮、描述编辑、资产操作、无 EditAll 权限时开关禁用、Data Steward 角色同前、受限 EditTag 权限资产操作与受限实体检查。TagPageRightPanel.spec.ts11 tests标签资产页的右侧面板——点击资产打开面板、Table 实体 tab 显示、描述编辑、名称链接、概览、未选资产时面板不可见、标签/Tier/owner/域/术语编辑。Tags.spec.ts5 tests, 13 scenarios分类页基础元素渲染、禁用系统标签不渲染、分类创建校验、标签创建校验、分类术语计数、标签分配到表、通过 Task Suggestion 流程分配标签到 DatabaseSchema、删除标签、移除分类、按分类显示名搜索标签、系统分类计数、owner 增删、禁用标签禁止从资产 tab 添加资产。TagsSuggestion.spec.ts3 tests, 6 scenariosTable 实体标签建议的查看/关闭/拒绝/接受、Tier 卡片建议接受、全部拒绝。SystemCertificationTags.spec.ts禁用系统认证标签不出现在下拉框、分类禁用时不出现在何系统认证标签。MutuallyExclusiveColumnTags.spec.ts向列添加互斥标签时弹出错误 toast。AutoClassification.spec.tsnightly自动分类数据。ClassificationVersionPage.spec.ts分类版本页。组件六Data Contracts数据契约数据契约组件仅 3 个文件、96 条测试、599 个场景却是治理域中单文件场景密度最高的部分覆盖契约全生命周期、语义规则、继承与 Persona 集成。契约生命周期DataContracts.spec.ts48 tests, 423 scenarios文档的 1–18 号测试以完全相同的 20 步流程对 18 种实体类型逐一验证实体清单见源码e2e/Pages/DataContracts.spec.ts顶部的entitiesWithDataContracts数组Table、Topic、Dashboard、DashboardDataModel、Pipeline、MlModel、Container、SearchIndex、StoreProcedureStoredProcedure、ApiEndpoint、ApiCollection、Chart、Directory、File、Spreadsheet、Worksheet、Database、DatabaseSchema。完整步骤链为跳转首页并访问实体打开契约区块并开始添加契约填写契约详情表单Contract Details填写服务条款详情Terms of Service填写契约 Schema 表单填写第一个契约语义Semantics添加第二个语义并删除保存契约并验证语义添加表测试用例并验证质量在 Observability 的 bundle 测试套件中验证数据契约测试套件存在从数据契约编辑质量期望并验证验证 YAML 视图导出 YAML导出 ODCS YAML编辑并验证契约数据删除契约从 ODCS YAML 导入契约删除导入的契约从 OM YAML 导入契约导出 OM YAML 并删除导入的契约。其余关键用例Schema tab 分页且选择保持翻页后回选列并保存验证、Tier/Tag/Glossary 的 Contains 与 Not_Contains 语义操作符、嵌套列不可选、旧 Schema 列契约操作、多规则语义、第二语义增删改、Security 与 SLA tab 的添加/更新/移除验证、ODCS 导入模态框 Merge 模式保持契约 ID、Replace 模式覆盖全部字段。另含 18 个 Persona 用例每种实体在 Contract Tab 被 Persona 隐藏/显示时契约状态徽标按条件可见。语义规则DataContractsSemanticRules.spec.ts40 tests, 120 scenarios按规则字段分组验证语义条件评估逻辑每个字段覆盖操作符的正反断言Owner6 testsIs、Is_Not、Any_In、Not_In、Is_Set、Is_Not_Set——同/不同 owner、owner 在/不在列表、有无 owner 的通过/失败。Description4 testsContains、Not Contains、Is_Set、Is_Not_Set。Domain6 testsIs、Is Not、Any_In、Not_In、Is_Set、Is_Not_Set。Version6 testsIs、Is_Not、、、、 六种比较。DataProduct6 testsIs、Is Not、Any_In、Not_In、Is_Set、Is_Not_Set。DisplayName6 testsIs、Is Not、Any_In、Not_In、Is_Set、Is_Not_Set。UpdatedOn6 testsBetween、Not_Between、Less than、Greater than、LessThanEqual、GreaterThanEqual。继承DataContractInheritance.spec.ts8 tests, 56 scenarios验证数据产品契约向资产的继承语义完整继承资产从数据产品完整继承契约详情/ToS/语义/SLA 全部继承部分继承资产自有契约与数据产品契约合并编辑继承 SLA资产从继承状态添加自有 SLA 时 PATCH 必须用/add而非/replace编辑继承契约点击编辑继承契约应打开添加表单而非编辑保存后创建新契约而非更新父契约且数据产品契约不被修改删除禁用完全继承的契约删除按钮禁用运行验证继承契约使用基于实体的验证移除资产资产移出数据产品后不再显示继承契约回退删除资产自有契约后回退显示数据产品继承契约。在仓库中如何定位与运行这些测试目录结构文档openmetadata-ui/src/main/resources/ui/playwright/docs/Governance.md及同级README.md、Discovery.md、Platform.md、Observability.md、Integration.md生成器openmetadata-ui/src/main/resources/ui/playwright/doc-generator/{generate.js, playwright-loader.js, markdown.js}测试用例openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/页面级、e2e/Flow/流程级、e2e/Features/特性级含Glossary/、Permissions/、LandingPageWidgets/等子目录、e2e/VersionPages/版本页、e2e/nightly/夜间测试支撑工具playwright/constant/测试常量如customProperty.ts、domain.ts、dataContracts.ts、playwright/support/实体类工厂如support/entity/TableClass.ts、support/glossary/Glossary.ts、playwright/utils/如utils/dataContracts.ts提供saveContractAndWait、exportContractYaml、triggerContractValidation等数据契约操作封装。运行方式在仓库根目录按 Playwright 项目约定运行例如# 列出测试与文档生成器同源的发现机制 npx playwright test --list --reporterjson --config openmetadata-ui/src/main/resources/ui/playwright # 运行治理域中的特定 spec npx playwright test e2e/Pages/DataContracts.spec.ts --config openmetadata-ui/src/main/resources/ui/playwright # 重新生成全部 E2E 文档 yarn generate:e2e-docs运行前提可参考openmetadata-ui/src/main/resources/ui/playwright/PLAYWRIGHT_DEVELOPER_HANDBOOK.md开发手册与仓库根目录AGENTS.md/DEVELOPER.md中的环境准备说明。绝大多数治理测试需要先通过 ingestion 摄入示例数据如SampleDataDomainDataProduct.spec.ts依赖样本数据中的 TestDomain/TestDataProduct因此建议基于官方本地开发环境docker-compose-quickstart或docker-compose-postgres运行。小结如何用好这份文档Governance.md的本质是一张治理功能 UI 测试覆盖索引。日常使用建议回归选测按组件表锁定范围——动到自定义属性相关代码就关注 Custom Properties 的 7 个文件动到数据契约流程就关注 Data Contracts 的 3 个文件尤其是DataContracts.spec.ts的 20 步流程与DataContractsSemanticRules.spec.ts的操作符矩阵。理解口径文件括号内的两个数字分别代表test()块数量与步骤级场景数量后者更能反映测试深度。溯源源码文档表格中的每一条测试都能在e2e/对应 spec 文件中找到test.describe/test/test.step三层结构步骤行的↳前缀即来自 AST 解析常量与实体工厂则沉淀在constant/与support/中可作为编写新测试的模板。注意快照滞后文档由 CI 自动生成若当前分支存在 spec 拆分/重命名以文档为索引、以分支实际文件为准。治理域六大组件的 933 条测试与 1598 个场景共同构成了 OpenMetadata 在为数据和 AI 建立可信上下文与业务语义这一核心目标上最完整的 UI 层质量防线——无论是自定义属性的字段扩展、术语表的审批治理还是数据契约的生命周期与继承语义这张测试地图都能帮你快速定位能力边界与回归入口。【免费下载链接】OpenMetadataThe Open Context Layer for Data and AI , OpenMetadata is the open platform for building trusted data context and business semantics for humans, AI assistants, and agents.项目地址: https://gitcode.com/GitHub_Trending/op/OpenMetadata创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考