xUnit Plugin

Skip to end of metadata
Go to start of metadata

Plugin Information

Plugin ID xunit Changes In Latest Release
Since Latest Release
Latest Release
Latest Release Date
Required Core
Dependencies
1.84
Feb 24, 2014
1.532.1
Source Code
Issue Tracking
Maintainer(s)
GitHub
Open Issues
Gregory Boissinot (id: gbois)
Usage Installations 2013-Apr 7557
2013-May 7675
2013-Jun 7797
2013-Jul 8216
2013-Aug 8077
2013-Sep 8424
2013-Oct 8892
2013-Nov 8855
2013-Dec 8688
2014-Jan 9209
2014-Feb 9516
2014-Mar 9938

This plugin makes it possible to publish the test results of an execution of a testing tool in Jenkins.

Features

  • Records xUnit tests
  • Mark the build unstable or fail according to threshold values

Supported tools

Embedded tools

* JUnit itself
* AUnit
* MSTest (imported from MSTest Plugin)
* NUnit (imported from NUnit Plugin)
* UnitTest++
* Boost Test Library
* PHPUnit
* Free Pascal Unit
* CppUnit
* MbUnit
* Googletest
* EmbUnit

Other plugins as an extension of the xUnit plugin:

* Gallio (Gallio plugin)
* Parasoft C++Test tool(Cpptest Plugin)
* JSUnit (JSUnit Plugin)
* JBehave

External contributions

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 :
* WebUI
* Ranorex

Configuration

Job Configuration

* Execute your testing tools manually or as a step of your build chain
* Give a pattern that specifies your test results

Showing the details:

Manage Jenkins > System Log > Add new log recorder.

Give a name as 'xUnit Logger' and add the following logger:

  • "XUnitService" for a severity as 'all'

Provide User XSL

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
userContent/xunit/[toolName]/[version]/[your_xsl].

For example:
userContent/xunit/AUnit/3.1.1/aunit-to-junit.xsl

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.

xUnit Architecture

Global Architecture

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.

DTKit Activities for XUnit

DTKit Packaging

Changelog

Version 1.84

Fix issue #15923 - embunit support

Version 1.83

Fix issue #21883 - <skipped> message not shown for QtTestLib

Version 1.82

Fix reopen issue #18443 - SkipNoTestFiles flag ignored. Build still set to failed if test files missing

Version 1.81

Fix issue #21532 - Fixed wrong placed <br>

Version 1.80

* Aggregate multiple failures in GoogleTest output to a single failure in JUnit

Version 1.79

* Fixed MbUnit Setup + TearDown + skipped + console err + console out +AssemblySetup
* Fix issue #18443 - SkipNoTestFiles flag ignored. Build still set to failed if test files missing

Version 1.78

* Fix issue #21220 - xUnit remote file operation files - NotSerializableException

Version 1.77

* Add support for Erlang/OTP Junit format
* Fix issue #21195 - xUnit fails with: org.jenkinsci.plugins.xunit.exception.XUnitException: Can't create /srv/jenkins/workspace... after upgrading to v1.74 from 1.48

Version 1.76

* Fix issue #18098 - xunit does not recognize failed tests anymore when there is a delay between testing and processing of test result files (because of coverage post processing in my case)

Version 1.75

* Fix reoponed issue #17438 - xunit - Custom Tool - Custom stylesheet - Global Property specified does not get resolved

Version 1.74

* Fix performance and good practice findbugs issues and a typo

Version 1.73

* Fix issue #16131 - Conversion error with boost test and long Error information
* Fix NullPointerException

Version 1.72

* Fix issue #17270 - Division by zero when checking xunit thresholds with empty test report

Version 1.71

* Fix issue #8610 - Error when configuring EC2 Plugin

Version 1.70

* Fix issue #18263 - py.test generated test reports are no longer being parsed as valid
* Fix issue #18443 - SkipNoTestFiles flag ignored. Build still set to failed if test files missing

Version 1.69

* Fix issue #18095 - nose generated xunit reports are rejected by xunit 1.59
* Fix issue #18575 - xUnit failed to parse a JUnit .xml report without any debug in log

Version 1.68

  • Enable to have xUnit plugin as a build step too.

Version 1.67

  • Add time to qtestlib tests
  • Modify custom stylesheet for getting Time node from CppUnit report

Version 1.66

* Fix issue #16259 - xUnit publisher not showing into conditional build steps

Version 1.65

* Fix issue #20420 - Adds support for Google Test framework

Version 1.64

* Fix issue #18443 - SkipNoTestFiles flag ignored. Build still set to failed if test files missing

Version 1.63

* Fix issue #19877 - xUnit does not support symbolic link for input files

Version 1.62

* Fix issue #17883 - flags "skipNoTestFiles" and "failIfNotNew" are not saved properly since xunit 1.56

Version 1.61

* Fix reopened issue #18443 - SkipNoTestFiles flag ignored. Build still set to failed if test files missing

Version 1.60

* Add JUnit 6 which enable assertions attribute to <testsuite> element

Version 1.59

* Fix reopened issue #17345 - generatedJUnitFiles does not exist

Version 1.58

* Fix issue #17884 - Support CTest XML format
* Fix issue #17932 - NullPointerException Processing Custom Tool

Version 1.57

* Fix issue #6200 - xunit/cppunit causes exception when trying to scan a non-accessible directory

Version 1.56

* Fix issue #17877 - NullPointerException processing PHPUnit after upgrading from xunit plugin 1.54 to 1.55

Version 1.55

* Fix issue #17797 - x-unit option not to fail if there isn't a test results file

Version 1.54

* Fix issue #17438 - xunit - Custom Tool - Custom stylesheet - Global Property specified does not get resolved

Version 1.53

* Fix issue #17345 - generatedJUnitFiles does not exist

Version 1.52

* Fix issue #16192 - xUnit plugin is using ancient XSL transform for NUnit, misses skipped tests
* Upgrade to

  • dtkit-metrics-parent 11
  • dtkit-junit-model 0.17
  • dtkit-metrics-parent 11
  • dtkit-metrics-default-parent 19
  • dtkit-default-junit 0.33

Version 1.51

* Add MbUnit support

Version 1.50

* Fix reopened issue #11542 - Add support for QTestLib XML reports

Version 1.49

* Fix issue #11542 - Add support for QTestLib XML reports
* Upgrade dependencies

  • dtkit-metrics-parent 10
  • dtkit-frmk 0.17 (fix typo for failIfFailure checkbox)
  • dtkit-plugin 0.13
  • dtkit-metrics-default-parent 18
  • dtkit-default-junit 0.32

Version 1.48

* Fix issue #14628 - Fatal error on JSON parsing
* Fix issue #15006 - Error while saving job configuration. Cannot update job configuration (1.464)

Version 1.47

* Fix issue #14517 - xUnit does not store threshold mode in config.xml

Version 1.46

* Fix issue #14052 - xUnit fails with NumberFormatException if threshold fields filled out in a certain way

Version 1.45

* Fix issue #13967 - Xunit don't recognize cppunit report with time execution

Version 1.44

* Update to dtkit-default-junit 0.30 (Fix CppTestUnit space)

Version 1.43

* Fix issue #13036 - Boost-Test parsing (manage BuildInfo section)

Version 1.42

* Fix issue #8460 - xUnit does not parse nested <testsuite>-tags from PHPUnit

Version 1.41

* Add threshold with percent values

Version 1.40

* Fix issue #12832 - check XSLT is not good enough

Version 1.39

* Update to dtkit-default-junit 0.27 (aunit 3.x)

Version 1.38

* Update to dtkit.default.junit.version 0.26 (Add support exception element of the aunit tool)

Version 1.37

* Fix execution with the DryRun Plugin

Version 1.36

* Fix issue #12026 - xunit fails to parse boost test XML log

Version 1.35

* Fix issue #12336 - Fail the build if test results were not updated this run" has no effect for JUnit

Version 1.34

* 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)

Version 1.33

* Update to DTKit 0.24 /- fix CppUnit format check

Version 1.32

* Fix issue #11908 - PHPUnit results xml fails to parse

Version 1.31

* Fix issue #11858 - xUnit v1.30 fails with NullPointerException when parsing cppnit results

Version 1.30

* Add a threshold for skipped tests and failed tests

Version 1.29

* 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)

Version 1.28

* Add the ability to override embedded XSLs at Jenkins level (look above for documentation)

Version 1.27

* Fix reponed JENKINS-11552 - xUnit don't work with NUnit test since 1.25

Version 1.26.1

* Add error messages when an issue occurs

Version 1.26

* Fix reponed JENKINS-9286 - xUnit plugin cannot parse XML output with exception from boost test 1.42

Version 1.25

* Introduce Alias for the job configuration file
* Update to dtkit-default-junit 0.22 (Removed unused descriptor method)

Version 1.24

* Fix JENKINS-11344 - xUnit fails to parse boost test log

Version 1.23

* Fix JENKINS-10909 - Added support of Check tool

Version 1.22

* Fix JENKINS-10717 - xUnit boost test log processing fails on nested test suites (BOOST_AUTO_TEST_SUITE)

Version 1.21 (technical release)

* Remove unused transitive dependencies

Version 1.20

* Fix JENKINS-10404 - UnitTest++ "time" element is ignored in results page, Duration field reported as 0ms

Version 1.19

* Fix JENKINS-9286 - xUnit plugin cannot parse XML output with exception from boost test 1.42

Version 1.18

* Update to DTKIT JUnit Format 0.16 - Added the support of skipped element

Version 1.17

* Update to DTKIT Default Junit 0.17
* Update to Jenkins 1.411 metadata

Version 1.16.2

* Fix JENKINS-9106 Custom type configuration does not pick up "Stop Processing If Error" flag

Version 1.16.1

* 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

Version 1.16

* Fix JENKINS-8843 The plugin hasn't been performed correctly: null

Version 1.15

* 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

Version 1.14

* 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

Version 1.13

* Update to DTKIT Default Junit 0.13
* Update to DTKIT DEFAULT FRMK 0.11

Version 1.12

* Update to DTKIT Default Junit 0.12
* Update to DTKIT DEFAULT FORMAT 0.12

Version 1.11

* Update to DTKIT FRMK 0.10
* Update to DTKIT FORMAT 0.10
* Fix issue #7943 - BOOST TestType hides master suites in the hierachy
* Fix issue #7925 - BOOST TestType fail during validation

Version 1.10

* Update to DTKIT FRMK 0.9
* Update to DTKIT FORMAT 0.9
* Remove Guice injection on slave mode due to classloading issues.

Version 1.9

* Update to DTKIT Default Junit 0.9
* Update to DTKIT FRMK 0.8
* Fix issue #7463 - BoosTest XSD enhanced
* Fix issue #7323 - Can't create the report path

Version 1.8

* Update to DTKIT Default Junit 0.7
* Update to DTKIT FRMK 0.6
* Fix issue #7336

Version 1.7

* 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

Version 1.6

* Update to DTKIT Default Junit 0.4 (Fixed reopened issue #6951)
* Update to DTKIT FRMK 0.2

Verision 1.5

* Updated to DTKIT Default Junit 0.3 (Fixed issue #6951)

Verision 1.4

* Fix the help file

Verision 1.3

* Update to DTKit 0.2 (Fixed PHPUnit xsd and xsl)
* Add the display of validation errors in the console for input and output files.

Version 1.2

* Fix big regression issue for backward compatibility with xUnit 0.6 issue #6946

Version 1.1

* Improve deletion algorithm.

Version 1.0

* xUnit currently follows a new model based on dtkit

Version 0.6.1

* Spelling Correction

Version 0.6

* Remove Embedded Cppunit plugin (Cppunit plugin extends xUnit plugin)
* Remove Embedded Gallio plugin (Gallio plugin extends xUnit plugin)

Version 0.5.3

* Add 'Delete Temporary JUnit files' option

Version 0.5.2.1

* Fix issue #5680 : Fixed regression introduced in 0.5.2: Added backward compatibility with a previous
configuration before 0.5.2

Version 0.5.2

* Fix issue #4945 : Show one graph when JUnit publisher is actived
* Fix issue #4931 : Adding a check-box option 'Fail the build if test results were not
updated this run'

Version 0.5.1

* Fix some labels

Version 0.5

* Add the support of Free Pascal Unit

Version 0.4

* Remove the AUnit support.
AUnit (Ada test framework) is provided by the Gnat Plugin.
Note: Gnat plugin extends the xUnit plugin

Version 0.3.1

* 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.

Version 0.3

* Fix issue 4416

Version 0.2

* 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

Version 0.1.3

* [BoostTest Library] - Flatten root package

Version 0.1.2

* Fix "java.lang.NoSuchMethodError: java.lang.String.isEmpty()"
* Add the ability to work on slaves

Version 0.1.1

* Fix java.util.MissingResourceException on Linux Plateform
* [BoostTest] - Fixed tests duration issue with Boost Test Library

Version 0.1

* Initial release

Labels

Edit
plugin-report plugin-report Delete
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.

Add Comment