A test runner which can output an XML report compatible with JUnit and Jenkins
This package provides an extension to the test runner to the one that ships with zope.testrunner, as well as a buildout recipe based on zc.recipe.testrunner to install a test script for this test runner.
The test runner is identical to the one in zope.testrunner, but it is capable of writing test reports in the XML format output by JUnit/Ant. This allows the test results to be analysed by tools such as the Jenkins continuous integration server.
In your buildout, add a part like this:
[buildout] parts = ... test ... [test] recipe = collective.xmltestreport eggs = my.package defaults = ['--auto-color', '--auto-progress']
The recipe accepts the same options as zc.recipe.testrunner, so look at its documentation for details.
When buildout is run, you should have a script in bin/test and a directory parts/test.
To run the tests, use the bin/test script. If you pass the --xml option, test reports will be written to parts/test/testreports directory:
$ bin/test --xml -s my.package
Use bin/test --help for a full list of options.
If you are using Jenkins, you can now configure the build to publish JUnit test reports for <buildoutdir>/parts/test/testreports/*.xml.
- Fixed UnicodeDecodeError when error message contains non-ascii. Fixes https://github.com/collective/collective.xmltestreport/issues/16 [maurits]
- Dependency to z3c.recipe.scripts declared but it was nowhere used. Removed dependency. This makes it work with newer zc.buildout again. Fixes #10 [jensens]
- Fix error on utf-8 error string. [bloodbare]
- Fix encoding problem in python 3. [cedricmessiant]
- Make sure errors in layer teardown don’t prevent the test report from getting written. [davisagli]
- Revert “Exclude system site-packages from tests’ sys.path”. This commit changed the API/output of collective.xmltestreport in a minor version without mentioning. This essentially broke all Jenkins jobs out there including all Plone coredev jobs and all the packages/code that relies on that output. [timo]
- Add missing dependency to z3c.recipe.scripts [ggozad]
- Exclude system site-packages from tests’ sys.path’ [Andrey Lebedev]
- Fix import errors problem (TypeError) introduced in 1.2.5. [jone]
- Handle startup failures (import errors) and expose them in the testresults. [jone]
- Fix brown-bag release 1.2.3 that was missing CHANGES.txt etc.
- Only depend on elementtree for Python < 2.5.
- Fixed OSError in formatter which could occur when a test case modifies the current working directory to a directory that gets removed during the test. In such cases we fall back to the working directory as it was in the beginning of the tests. [dokai]
- Fixed IndexError in formatter which could occur when the path of the current working directory was part of the path + file name of the doctest file but shorter.
- Added support for Manuel tests. It gets activated when the package under test has tests using manuel and this way depends on manuel. [icemac]
- Require zope.testrunner and remove support for zope.testing 3.7. [hannosch]
- Added support for zope.testrunner while retaining support for the older zope.testing.testrunner. [hannosch]
- No longer use the deprecated zope.testing.doctest. [hannosch]
- Distribution metadata cleanup. [hannosch]
- Use built-in xml.etree in favor of elementree in Python 2.5+ and added missing dependency on zc.recipe.egg. [multani]
- Rename the -x option --xml. This is necessary by zope.testing now uses the -x option for something else. :-(
- Maintain compatibility with zope.testing 3.7.
- Initial release