-
Notifications
You must be signed in to change notification settings - Fork 1
optilude/corejet.testrunner
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Introduction
============
This package provides an extension to the test runner to the one that ships
with `zope.testrunner`_.
It is based on (and can be used as a wholesale replacement for),
``collective.xmltestreport``.
The test runner is identical to the one in ``zope.testrunner``, except:
* 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
Hudson/Jenkins continuous integration server.
* it can output reports in the CoreJet XML format - see `corejet.core`_
Usage
=====
In your buildout, add a part like this::
[buildout]
parts =
...
test
...
[test]
recipe = corejet.recipe.testrunner
eggs =
my.package
defaults = ['--auto-color', '--auto-progress']
The recipe (`corejet.recipe.testrunner`_) 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
If you are using Hudson, you can now configure the build to publish JUnit
test reports for ``<buildoutdir>/parts/test/testreports/*.xml``.
To output a CoreJet report, do::
$ bin/test --corejet="file,path/to/corejet/file.xml" -s my.package
The CoreJet report and output XML file will be placed in
``parts/test/corejet``. You can combine ``--xml`` and ``--corejet``.
The example above uses the ``file`` CoreJet repository source, which expects
to find a CoreJet XML file at the path specified after the comma.
Repository sources
==================
Other repository sources can be registered via entry points: Packages must
register an entry point under ``corejet.repositorysource`` identifying a
callable that is passed the string *after* the comma with a unique name and
which should return a ``corejet.core.model.RequirementsCatalogue`` object.
Hence, the ``file`` source is defined as::
def fileSource(path):
catalogue = RequirementsCatalogue()
with open(path) as stream:
catalogue.populate(stream)
return catalogue
and registered with::
[corejet.repositorysource]
file = corejet.testrunner.filesource:fileSource
Use ``bin/test --help`` for a full list of options.
.. _corejet.recipe.testrunner: http://pypi.python.org/pypi/corejet.recipe.testrunner
.. _zope.testrunner: http://pypi.python.org/pypi/zope.testrunner
.. _zc.recipe.testrunner: http://pypi.python.org/pypi/zc.recipe.testrunner
.. _corejet.core: http://pypi.python.org/pypi/corejet.core
About
CoreJet testrunner based on zope.testrunner
Resources
Stars
Watchers
Forks
Packages 0
No packages published