@cspell/cspell-junit-reporter
v10.3.5
Published
JUnit XML reporter for CSpell
Maintainers
Readme
@cspell/cspell-junit-reporter
CSpell reporter with JUnit XML output
Emits a JUnit compatible XML report of a cspell run, suitable for consumption by CI systems (GitHub Actions, GitLab, Jenkins, CircleCI, etc.) that understand the JUnit test result format.
Installation
Install it as a development package in the repository that will use it.
npm install -SD @cspell/cspell-junit-reporterUsage
Using Command Line
cspell . --reporter @cspell/cspell-junit-reporterUsing CSpell Configuration
Add this to cspell.yaml:
reporters: [['@cspell/cspell-junit-reporter', { outFile: 'cspell-junit.xml' }]]or cspell.json
{
"reporters": [["@cspell/cspell-junit-reporter", { "outFile": "cspell-junit.xml" }]]
}Output format
@cspell/cspell-junit-reporter maps a cspell run onto JUnit XML as follows:
- one
<testsuites>root element for the whole run - one
<testsuite>per file checked, named after the file - one
<testcase>per spelling issue found in a file, containing a<failure>with the misspelled word, location, and message - a file with no issues gets a single passing
<testcase>so the suite is never empty - a skipped file gets a single
<testcase>containing a<skipped>element - processing errors that are not tied to a specific spelling issue (for example, a bad config file) are
reported in a dedicated
cspell-errorstestsuite using<error>instead of<failure>
All file paths, words, and messages are escaped so the output is valid XML even when they contain
& < > " ' characters.
Example output for a single file with one issue:
<?xml version="1.0" encoding="UTF-8"?>
<testsuites name="cspell" tests="1" failures="1" errors="0" time="0.001">
<testsuite name="src/example.ts" tests="1" failures="1" errors="0" time="0.001">
<testcase name="teh (3:5)" classname="src/example.ts">
<failure type="spelling" message="Unknown word: "teh"">Unknown word: "teh"</failure>
</testcase>
</testsuite>
</testsuites>Settings
Possible settings:
outFile(default: stdout) - path for the XML file to emitsuiteName(default:cspell) - name used for the root<testsuites>element
