I am new to using Google test framework for unit testing and am intending to generate an XML report of the tests or the command output as a report (I could just print it obviously). I have read up on Generate XML Report , but haven't been able to understand clearly on how to go about generating the report. Any help would be greatly appreciated.
Cheers.
For Linux environments:
It's simple you just have to set the GTEST_OUTPUT environment variable like this: export GTEST_OUTPUT="xml:/home/user/src". or use the -gtest_output flag set the same way.
I have referred to v01d's solution and just made a complete and properly framed answer for anyone else who might come across the same question.
Setting the Environment Variable:
- Goto MyComputer, right click and click on Properties.
- Click on the Advanced Tab, and click on Environment Variables.
Click to Add a new variable and set the properties in the following way:
Restart your MSVC++ and run your program again. You should be able to find your XML Report in the corresponding folder as mentioned in the 'Value' property specified by you. Furthermore, you can even convert the xml report with the help of Microsoft Access into a particular choice of format you want. Just a simple tutorial/example of this is given here: XML Conversion.
Hope this helps!
Apart from method suggested by @The Newbie you can also generate XML report by setting flag --gtest_output="xml:\home\user\XML_Report.xml" in command line.If you are using Microsoft Visual studio, then you can add in command arguments flag --gtest_output="xml:\home\user\XML_Report.xml"
Setting the command arguments flag :
- Right click on project and go to properties.
- Go to Configuration
Properties->Debugging.
- In Command Arguments add
--gtest_output="xml:\home\user\XML_Report.xml"
Googletest does not generate JUnit compatible XML file, in such scenarios you need to convert the generated XML to JUnit XML format.
Reported Issue
Workaround Solution