How can I override the default output directory and file name jest-junit?
I would like to customise the output configuration of output when using Jest, but it still ends up in the default location, i.e. ./junit.xml
in the project root folder.
In package.json:
"scripts": {
"test": "jest --ci --reporters=default --reporters=jest-junit"
},
"devDependencies": {
"jest": "^24.9.0",
"jest-junit": "^10.0.0",
}
In jest.config.js
module.exports = {
testMatch: [
'**/*.spec.js',
],
reporters: [
'default',
[ 'jest-junit', {
outputDirectory: 'test_reports',
outputName: 'jest-junit.xml',
} ]
]
};
./test_reports/jest-junit.xml
./junit.xml
A report file test-report. xml is generated in the project root directory.
preset [string] Default: undefined. A preset that is used as a base for Jest's configuration. A preset should point to an npm module that exports a jest-preset. json module on its top level.
change package.json
script from
"scripts": {
"test": "jest --ci --reporters=default --reporters=jest-junit"
},
to just
"scripts": {
"test": "jest --ci"
},
The problem is that reporters configuration have been provided to both the jest.config.js
file as well as cli arguments to the test
script in package.json. The CLI options has higher precedence and does not provide the outputDirectory
and outputName
, the test result will revert to the default junit.xml
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With