I have added the below steps to run unit test in Azure pipelines for React UI.
Added a file , File name:jestTrxProcessor.js. The content:
var builder = require("jest-trx-results-processor/dist/testResultsProcessor");
var builder = require("jest-trx-results-processor");
var processor = builder({
outputFile: "jestTestresults.trx",
});
module.exports = processor;
"scripts": {
....
"test": "jest"
},
devdependencies{
...
"jest": "^23.4.1",
"jest-trx-results-processor": "0.0.7",
"jsdom": "^11.12.0"
},
"jest": {
"testResultsProcessor": "./__tests__/jestTrxProcessor.js",
"reporters": [
"default",
[
"jest-trx-results-processor",
{
"outputFile": "./__tests__/jestTestresults.trx",
}
]]},
3.In the yaml file I added the below script:
- script: |
npm install
npm install jest-trx-results-processor --save-dev
yarn add --dev jest-trx-results-processor
npm run build
# npm run test
displayName: 'npm install and build'
- task: PublishTestResults@2
inputs:
testResultsFormat: 'VSTest'
testResultsFiles: './__tests__/jestTestresults.trx'
testRunTitle: 'FrontEnd Test'
I am getting the below error:
Failed to parse result files when VSTest is run Azure pipelines
According to the error message:
Publish Test Results Failed to parse result files: System.Xml.XmlException: Data at the root level is invalid. Line 1, position 1
It means that you have attempted to parse something that is not an XML document or there is a issue with the generated trx file.
To troubleshooting this issue, please try to update the devdependencies jest
jest-trx-results-processor
:
"devDependencies": {
"jest": "^26.6.3",
"jest-trx-results-processor": "~2.0.0"
},
And try to select JUnit
in TestResultsFormat
:
Besides, the Jest testResultsProcessor property is deprecated, please try to use the jest-junit package for test reports:
Please check this thread for some more details.