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.
- Add compatibility with Python 2 and Python 3. [gforcada]
- Switch from optparse to argparse to work with zope.testrunner >= 4.9.0 [pbauer]
- Drop python 2.6 dependency. [gforcada]
- Clean up the code. [gforcada]
- 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
elementtreefor 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
manueland this way depends on
zope.testrunnerand remove support for zope.testing 3.7. [hannosch]
- Added support for
zope.testrunnerwhile retaining support for the older
- No longer use the deprecated
- Distribution metadata cleanup. [hannosch]
- Use built-in
xml.etreein favor of
elementreein Python 2.5+ and added missing dependency on
- 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
Release history Release notifications
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size & hash SHA256 hash help||File type||Python version||Upload date|
|collective.xmltestreport-2.0.0-py2-none-any.whl (11.0 kB) Copy SHA256 hash SHA256||Wheel||py2|
|collective.xmltestreport-2.0.0.tar.gz (11.1 kB) Copy SHA256 hash SHA256||Source||None|