module

Mica::Testing::Traceability

Maps specification requirement ids to the specs that cover them.

Each format keeps a catalog of its specification's requirements, a TSV file with one requirement per line:

id<TAB>section<TAB>summary

(lines starting with # are comments). Ids are stable strings such as XML10-2.2-Char or RFC8949-3.1-major-types. Specs declare what they cover; the registry then reports which requirements are covered, which are not, and which ids no catalog knows (a typo or a stale id).

catalog = Mica::Testing::Traceability::Catalog.parse("XML10-2.2-Char\t2.2\tCharacters\n")
registry = Mica::Testing::Traceability::Registry.new
registry.record("XML10-2.2-Char", "spec/xml/hostile_bytes_spec.cr:12")
registry.coverage(catalog).list_of_uncovered_ids # => [] of String

Nested types