Security News
Fluent Assertions Faces Backlash After Abandoning Open Source Licensing
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
@casualbot/jest-sonar-reporter
Advanced tools
@casualbot/jest-sonar-reporter
is a custom results processor for Jest derived from Christian W. original work here.
It has been updated to be usable as a reporter in the jest.config
, as well as, provide the ability to output relative paths for the generated XML file.
Using npm:
npm install --save-dev @casualbot/jest-sonar-reporter
Using yarn:
yarn add --dev @casualbot/jest-sonar-reporter
In your jest config add the following entry:
{
"reporters": [ "default", "@casualbot/jest-sonar-reporter" ]
}
Then simply run:
jest
For your Continuous Integration you can simply do:
jest --ci --reporters=default --reporters=@casualbot/jest-sonar-reporter
The support for testResultsProcessor
is only kept for [legacy reasons][test-results-processor] and might be removed in the future.
You should therefore prefer to configure @casualbot/jest-sonar-reporter
as a reporter.
Should you still want to, add the following entry to your jest config:
{
"testResultsProcessor": "@casualbot/jest-sonar-reporter"
}
Then simply run:
jest
For your Continuous Integration you can simply do:
jest --ci --testResultsProcessor="@casualbot/jest-sonar-reporter"
@casualbot/jest-sonar-reporter
offers several configurations based on environment variables or a @casualbot/jest-sonar-reporter
key defined in package.json
or a reporter option.
Environment variable and package.json configuration should be strings.
Reporter options should also be strings exception for suiteNameTemplate, classNameTemplate, titleNameTemplate that can also accept a function returning a string.
Environment Variable Name | Reporter Config Name | Description | Default | Possible Injection Values |
---|---|---|---|---|
JEST_SUITE_NAME | suiteName | name attribute of <testsuites> | "jest tests" | N/A |
JEST_SONAR_OUTPUT_DIR | outputDirectory | Directory to save the output. | process.cwd() | N/A |
JEST_SONAR_OUTPUT_NAME | outputName | File name for the output. | "jest-report.xml" | N/A |
JEST_SONAR_OUTPUT_FILE | outputFile | Fullpath for the output. If defined, outputDirectory and outputName will be overridden | undefined | N/A |
JEST_SONAR_56_FORMAT | formatForSonar56 | Will generate the xml report for Sonar 5.6 | false | N/A |
JEST_SONAR_RELATIVE_PATHS | relativePaths | Will use relative paths when generating the xml report | false | N/A |
JEST_SONAR_UNIQUE_OUTPUT_NAME | uniqueOutputName | Create unique file name for the output jest-sonar-report-${uuid}.xml , overrides outputName | false | N/A |
JEST_SONAR_SUITE_NAME | suiteNameTemplate | Template string for name attribute of the <testsuite> . | "{title}" | {title} , {filepath} , {filename} , {displayName} |
JEST_SONAR_CLASSNAME | classNameTemplate | Template string for the classname attribute of <testcase> . | "{classname} {title}" | {classname} , {title} , {suitename} , {filepath} , {filename} , {displayName} |
JEST_SONAR_TITLE | titleTemplate | Template string for the name attribute of <testcase> . | "{classname} {title}" | {classname} , {title} , {filepath} , {filename} , {displayName} |
JEST_SONAR_ANCESTOR_SEPARATOR | ancestorSeparator | Character(s) used to join the describe blocks. | " " | N/A |
JEST_SONAR_ADD_FILE_ATTRIBUTE | addFileAttribute | Add file attribute to the output. This config is primarily for Circle CI. This setting provides richer details but may break on other CI platforms. Must be a string. | "false" | N/A |
JEST_SONAR_INCLUDE_CONSOLE_OUTPUT | includeConsoleOutput | Adds console output to any testSuite that generates stdout during a test run. | false | N/A |
JEST_SONAR_INCLUDE_SHORT_CONSOLE_OUTPUT | includeShortConsoleOutput | Adds short console output (only message value) to any testSuite that generates stdout during a test run. | false | N/A |
JEST_SONAR_REPORT_TEST_SUITE_ERRORS | reportTestSuiteErrors | Reports test suites that failed to execute altogether as error . Note: since the suite name cannot be determined from files that fail to load, it will default to file path. | false | N/A |
JEST_SONAR_NO_STACK_TRACE | noStackTrace | Omit stack traces from test failure reports, similar to jest --noStackTrace | false | N/A |
JEST_USE_PATH_FOR_SUITE_NAME | usePathForSuiteName | DEPRECATED. Use suiteNameTemplate instead. Use file path as the name attribute of <testsuite> | "false" | N/A |
You can configure these options via the command line as seen below:
JEST_SUITE_NAME="Jest JUnit Unit Tests" JEST_SONAR_OUTPUT_DIR="./artifacts" jest
Or you can also define a @casualbot/jest-sonar-reporter
key in your package.json
. All are string values.
{
...,
"jest": {
"rootDir": ".",
"testResultsProcessor": "@casualbot/jest-sonar-reporter"
},
"@casualbot/jest-sonar-reporter": {
"suiteName": "jest tests",
"outputDirectory": "coverage",
"outputName": "jest-report.xml",
"uniqueOutputName": "false",
"classNameTemplate": "{classname}-{title}",
"titleTemplate": "{classname}-{title}",
"ancestorSeparator": " › ",
"usePathForSuiteName": "true",
"relativePaths": "true"
}
}
Or you can define your options in your reporter configuration.
// jest.config.js
{
reporters: [
'default',
[
'@casualbot/jest-sonar-reporter',
{
relativePaths: true,
outputName: 'sonar-report.xml',
outputDirectory: 'coverage'
}
]
],
}
FAQs
A Sonar test reporter for Jest.
We found that @casualbot/jest-sonar-reporter demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
Research
Security News
Socket researchers uncover the risks of a malicious Python package targeting Discord developers.
Security News
The UK is proposing a bold ban on ransomware payments by public entities to disrupt cybercrime, protect critical services, and lead global cybersecurity efforts.