Coverage
Yellow Jacket compares configured routes and scenario steps with external route inventories.
Coverage discovery itself does not execute application requests.
OpenAPI
OpenAPI 3.x documents are supported in JSON and YAML.
JSON:
coverage: {
openapi:
'./openapi.json'
}YAML:
coverage: {
openapi:
'./openapi.yaml'
}Supported extensions:
.json
.yaml
.ymlRun:
yellow-jacket coverageExample output:
yellow-jacket coverage
✓ GET /users
✓ POST /users
✓ GET /users/{}
✗ PATCH /users/{}
3 / 4 operations covered
Coverage: 75%XML sitemaps
Sitemaps can declare GET routes:
coverage: {
sitemap:
'./sitemap.xml'
}Yellow Jacket supports:
<urlset>- local recursive
<sitemapindex> - XML entities
- CDATA locations
- cyclic sitemap index protection
Recursive sitemap indexes
A local sitemap index can reference other local sitemap files:
sitemap.xml
├── pages.xml
└── nested.xml
└── blog.xmlYellow Jacket traverses the tree and combines the routes.
Remote child sitemaps such as:
https://example.com/sitemap-pages.xmlare intentionally rejected.
Coverage discovery does not perform HTTP requests.
Combine OpenAPI and sitemap
Both sources can be enabled:
coverage: {
openapi:
'./openapi.json',
sitemap:
'./sitemap.xml'
}Duplicate operations are counted only once.
Dynamic route normalization
These forms are considered equivalent:
/users/{id}
/users/{{userId}}
/users/:idThey normalize to:
/users/{}HTTP methods remain distinct.
Therefore:
GET /users/{id}does not cover:
PATCH /users/{id}Minimum coverage
Configure a required percentage:
coverage: {
openapi:
'./openapi.json',
minimum:
80
}When coverage falls below the configured minimum, the command exits with code 1.
JSON reports
yellow-jacket coverage \
--jsonWrite directly to a file:
yellow-jacket coverage \
--json \
--output reports/coverage.jsonMarkdown reports
Useful for CI summaries:
yellow-jacket coverage \
--markdownOr:
yellow-jacket coverage \
--markdown \
--output reports/coverage.mdHTML reports
Generate a standalone static report:
yellow-jacket coverage \
--htmlWrite it directly:
yellow-jacket coverage \
--html \
--output public/index.htmlThe directory is created automatically.
The HTML report has no application server dependency.
Output format rules
Only one structured output format can be used at a time:
--json
--markdown
--html--output requires one of those formats.
