This plugin makes it possible to publish the test results of an execution of a testing tool in Jenkins.
* JUnit itself
* MSTest (imported from MSTest Plugin)
* NUnit (imported from NUnit Plugin)
* Boost Test Library
* Free Pascal Unit
* Gallio (Gallio plugin)
* Parasoft C++Test tool (Cpptest Plugin)
* JSUnit (JSUnit Plugin)
* TestComplete (TestComplete xUnit Plugin)
For each xUnit tool, an embedded style sheet is used. However, the plugin also enables you to use a custom style sheet for your own tool such as :
* Execute your testing tools manually or as a step of your build chain
* Give a pattern that specifies your test results
Manage Jenkins > System Log > Add new log recorder.
Give a name as 'xUnit Logger' and add the following logger:
For tools using a stylesheet to convert into JUnit files, you are able to use your own XSL at Jenkins level.
Specify your XSLs in the JENKINS_HOME/useContent directory with the following convention
Note: The tool name and the version are taken from the label in the combo box from the UI.
If the tool doesn't have a version, do not create a version directory.
When this plugin is installed and configured, Jenkins can transform test result reports produced by different testing tools into JUnit test result format. The JUnit tests can then be recorded by Jenkins.
Jenkins can provide useful information about test results, such as the historical test result trend, web UI for viewing test reports, tracking failures, and so on.
Under the hood, xUnit Jenkins plugin delegates processing to DTKit.
It is also possible to set an xUnit configuration in a pipeline job, but is somewhat more verbose.
For example, creating a boost pipeline (declarative) with the same configuration as above would be:
[$class: 'SkippedThreshold', failureThreshold: '0'],
[$class: 'FailedThreshold', failureThreshold: '0']],
tools: [[$class: 'BoostTestJunitHudsonTestType', pattern: 'boost/*.xml']]])
JENKINS-33450 Support for NUnit3 which uses a different XML format by NUnit2 (nfalco79 to alexschwantes)
JENKINS-33385 Testresult doesn't show test name in case the package is empty (nfalco79 to )
* Fix execution with the DryRun Plugin
* Fix JENKINS-12026 - xunit fails to parse boost test XML log
* Fix JENKINS-12336 - Fail the build if test results were not updated this run" has no effect for JUnit
* Accept test results when the number of tests is 0
* Add a JUnit type (therefore, xUnit plugin is an alternative to the JUnit archiver option)
* Update to DTKit 0.24 /- fix CppUnit format check
* Fix JENKINS-11908 - PHPUnit results xml fails to parse
* Fix JENKINS-11858 - xUnit v1.30 fails with NullPointerException when parsing cppnit results
* Add a threshold for skipped tests and failed tests
* Make it compatible to the DryRun Plugin
Note: Built against Jenkins 1.410 required by the dry-run plugin.
Without the dry-run feature, the plugin is compatible to 1.409 series (LTS)
* Add the ability to override embedded XSLs at Jenkins level (look above for documentation)
* Fix reponed JENKINS-11552 - xUnit don't work with NUnit test since 1.25
* Add error messages when an issue occurs
* Fix reponed JENKINS-9286 - xUnit plugin cannot parse XML output with exception from boost test 1.42
* Introduce Alias for the job configuration file
* Update to dtkit-default-junit 0.22 (Removed unused descriptor method)
* Fix JENKINS-11344 - xUnit fails to parse boost test log
* Fix JENKINS-10909 - Added support of Check tool
* Fix JENKINS-10717 - xUnit boost test log processing fails on nested test suites (BOOST_AUTO_TEST_SUITE)
* Remove unused transitive dependencies
* Fix JENKINS-10404 - UnitTest++ "time" element is ignored in results page, Duration field reported as 0ms
* Fix JENKINS-9286 - xUnit plugin cannot parse XML output with exception from boost test 1.42
* Update to DTKIT JUnit Format 0.16 - Added the support of skipped element
* Update to DTKIT Default Junit 0.17
* Update to Jenkins 1.411 metadata
* Fix JENKINS-9106 Custom type configuration does not pick up "Stop Processing If Error" flag
* Fix reopen JENKINS-8843 The plugin hasn't been performed correctly: null
* Fix JENKINS-8901 The plugin hasn't been performed correctly: Unable to serialize hudson.FilePath$FileCallableWrapper@b749a3
* Fix JENKINS-8843 The plugin hasn't been performed correctly: null
* Fix JENKINS-6344 - fail build if any empty files exist, or provide option to do it
* Fix JENKINS-7612 - Superfluous INFO messages in console output
* Update to Jenkins 1.397 API and metadata
* Fix JENKINS-8492 - NUnit test suites is not parsed correctly
* Fix JENKINS-8553 - BoostTest output coverting to JUnit format can't be recognized if contains Exceptions in boostTest result
* Fix JENKINS-8485 and JENKINS-8516
* Fix JENKINS-8787 CustomTypeDescriptor throws a RuntimeExcetion at startup
* Update to DTKIT Default Junit 0.15
* Update to DTKIT DEFAULT FRMK 0.12
* Update to DTKIT FORMAT 0.13
* Update to Jenkins 1.396 API and metadata
* Update to DTKIT Default Junit 0.13
* Update to DTKIT DEFAULT FRMK 0.11
* Update to DTKIT Default Junit 0.12
* Update to DTKIT DEFAULT FORMAT 0.12
* Update to DTKIT FRMK 0.10
* Update to DTKIT FORMAT 0.10
* Fix JENKINS-7943 - BOOST TestType hides master suites in the hierachy
* Fix JENKINS-7925 - BOOST TestType fail during validation
* Update to DTKIT FRMK 0.9
* Update to DTKIT FORMAT 0.9
* Remove Guice injection on slave mode due to classloading issues.
* Update to DTKIT Default Junit 0.9
* Update to DTKIT FRMK 0.8
* Fix JENKINS-7463 - BoosTest XSD enhanced
* Fix JENKINS-7323 - Can't create the report path
* Update to DTKIT Default Junit 0.7
* Update to DTKIT FRMK 0.6
* Fix JENKINS-7336
* Update to DTKIT Default Junit 0.6
* Update to DTKIT FRMK 0.5
* Restore the CustomType (enables users to provide a custom XSL) removed from 1.0
* Update to DTKIT Default Junit 0.4 (Fixed reopened JENKINS-6951)
* Update to DTKIT FRMK 0.2
* Updated to DTKIT Default Junit 0.3 (Fixed JENKINS-6951)
* Fix the help file
* Update to DTKit 0.2 (Fixed PHPUnit xsd and xsl)
* Add the display of validation errors in the console for input and output files.
* Fix big regression issue for backward compatibility with xUnit 0.6 JENKINS-6946
* Improve deletion algorithm.
* xUnit currently follows a new model based on dtkit
* Spelling Correction
* Remove Embedded Cppunit plugin (Cppunit plugin extends xUnit plugin)
* Remove Embedded Gallio plugin (Gallio plugin extends xUnit plugin)
* Add 'Delete Temporary JUnit files' option
* Fix JENKINS-5680 : Fixed regression introduced in 0.5.2: Added backward compatibility with a previous
configuration before 0.5.2
* Fix JENKINS-4945 : Show one graph when JUnit publisher is actived
* Fix JENKINS-4931 : Adding a check-box option 'Fail the build if test results were not
updated this run'
* Fix some labels
* Add the support of Free Pascal Unit
* Remove the AUnit support.
AUnit (Ada test framework) is provided by the Gnat Plugin.
Note: Gnat plugin extends the xUnit plugin
* Restore the removed feature in xUnit 0.2 : Added the ability to use a custom xUnit tool with a custom style sheet.
* You can override the embedded stylesheet by a one at the workspace level.
* Fix issue 4416
* The plugin use @Extension and ExtensionPoint to allow other plugins to add a Descriptor (issue 4315)
* [BoostTest Library] - Display the output of the macros MESSAGE,INFO and WARNING in Hudson test results
* [PHPUnit] - Fixed stylesheet
* Fix bug on suite name content with special character
* [BoostTest Library] - Flatten root package
* Fix "java.lang.NoSuchMethodError: java.lang.String.isEmpty()"
* Add the ability to work on slaves