> 译文仅供阅读便利。具有规范效力的是英文原文。 # 语义测试套件 为 MUIF 校验器备的、可复现的合规测试。每一份夹具都是一小份带着预期声明的 MUIF 文 档;跑测的程序会断言:有效的夹具要通过,而每一份无效的夹具,都要恰好倒在它被造出来 去破坏的那条**抽象测试规程**([校验](../02-architecture/Validation.md))上。 ## 怎样跑 ```text mu-test # ALL 7 TESTS PASSED ``` `mu-test` 是语义测试套件的逻辑命令;参考工具怎样调用,见 [`../tools/`](../tools/)。 ## 各份夹具 | 夹具 | 预期 | |---------|-------------| | `valid/minimal.json` | 通过(未自带声明的指纹) | | `valid/with-fingerprint.json` | 通过;`V2-05` 确认所声明的指纹 | | `invalid/bad-version.json` | 倒在 `V0-02`(`muif.version` 不对) | | `invalid/missing-provenance.json` | 倒在 `V1-02`(对象缺 `provenance`) | | `invalid/duplicate-id.json` | 倒在 `V2-01`(`id` 重复) | | `invalid/bad-csn.json` | 倒在 `V2-03`(CSN 违反文法) | | `invalid/wrong-fingerprint.json` | 倒在 `V2-05`(声明的指纹 ≠ 算出的指纹) | `golden/with-fingerprint.report.json` 是 `with-fingerprint` 这份夹具所应得的 [校验报告](../schemas/validation-report.schema.json),留作参照与回归之用。 ## 覆盖范围 这套套件跑的是那些结构上可查的层级(V0-V2)。完整的 JSON Schema 校验(V1-01)以及 宪章与联邦层级(V3-V4),会随 CI 与套件的长大而补上(路线图中 WS6 的后续)。