Coverage
Coverage is opt-in.
Enable Coverage
From the CLI:
bash
ast test --enable coverage
ast test --enable coverage --show-coverage
ast test --enable coverage --show-coverage=allFrom config:
json
{
"coverage": true
}That defaults to project-only coverage.
Or with options:
json
{
"coverage": {
"enabled": true,
"mode": "project",
"dependencies": ["json-as"],
"includeSpecs": false,
"include": ["assembly/**/*.ts"],
"exclude": ["assembly/generated/**"]
}
}Coverage Modes
project- covers project source files only
- excludes dependency files under
node_modulesby default
all- covers project files and dependency files
- still excludes AssemblyScript stdlib files
If you only want specific dependencies while staying in project mode, list package names in coverage.dependencies. This works for both normal installs and pnpm layouts.
Behavior
- coverage is disabled by default
coverage: trueis equivalent to enabling coverage withmode: "project"--show-coverageprints uncovered point details in the terminal--show-coverage=allexpands nested uncovered points instead of collapsing them--verbosealso expands nested uncovered points- coverage artifacts are written to
coverageDir, which defaults to./.as-test/coverage includeandexcludefilters apply after broad file eligibility (mode,dependencies,includeSpecs)
