Skip to main content

PyUnit-based test runner with JUnit like XML reporting.

Project description

unittest-xml-reporting is a unittest test runner that can save test results to XML files that can be consumed by a wide range of tools, such as build systems, IDEs and continuous integration servers.

Author:

Daniel Fernandes Martins <daniel@destaquenet.com>

Company:

Destaquenet Technology Solutions

Requirements

Installation

The easiest way to install unittest-xml-reporting is via EasyInstall. Follow these instructions to install EasyInstall if you don’t have it already.

Then, execute the following command line to install the latest stable version of unittest-xml-reporting:

$ sudo easy_install unittest-xml-reporting

If you use Git and want to get the latest development version:

$ git clone git://github.com/danielfm/unittest-xml-reporting.git
$ cd unittest-xml-reporting
$ sudo python setup.py install

Or get the latest development version as a tarball:

$ wget http://github.com/danielfm/unittest-xml-reporting/tarball/master
$ tar zxf danielfm-unittest-xml-reporting-XXXXXXXXXXXXXXXX.tar.gz
$ cd danielfm-unittest-xml-reporting-XXXXXXXXXXXXXXXX
$ sudo python setup.py install

Usage

The script below, adapted from the unittest documentation, shows how to use XMLTestRunner in a very simple way. In fact, the only difference between this script and the original one is the last line:

import random
import unittest
import xmlrunner

class TestSequenceFunctions(unittest.TestCase):
    def setUp(self):
        self.seq = range(10)

    def test_shuffle(self):
        # make sure the shuffled sequence does not lose any elements
        random.shuffle(self.seq)
        self.seq.sort()
        self.assertEqual(self.seq, range(10))

    def test_choice(self):
        element = random.choice(self.seq)
        self.assert_(element in self.seq)

    def test_sample(self):
        self.assertRaises(ValueError, random.sample, self.seq, 20)
        for element in random.sample(self.seq, 5):
            self.assert_(element in self.seq)

if __name__ == '__main__':
    unittest.main(testRunner=xmlrunner.XMLTestRunner(output='test-reports'))

Django 1.2

In order to plug XMLTestRunner to a Django project, add the following to your settings.py:

TEST_RUNNER = 'xmlrunner.extra.djangotestrunner.XMLTestRunner'

Also, the following settings are provided so you can fine tune the reports:

TEST_OUTPUT_VERBOSE (Default: False)

Besides the XML reports generated by the test runner, a bunch of useful information is printed to the sys.stderr stream, just like the TextTestRunner does. Use this setting to choose between a verbose and a non-verbose output.

TEST_OUTPUT_DESCRIPTIONS (Default: False)

If your test methods contains docstrings, you can display such docstrings instead of display the test name (ex: module.TestCase.test_method). In order to use this feature, you have to enable verbose output by setting TEST_OUTPUT_VERBOSE = True.

TEST_OUTPUT_DIR (Default: ".")

Tells the test runner where to put the XML reports. If the directory couldn’t be found, the test runner will try to create it before generate the XML files.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

unittest-xml-reporting-1.3.2.tar.gz (11.8 kB view details)

Uploaded Source

Built Distributions

unittest_xml_reporting-1.3.2-py2.6.egg (21.6 kB view details)

Uploaded Egg

unittest_xml_reporting-1.3.2-py2.5.egg (21.6 kB view details)

Uploaded Egg

File details

Details for the file unittest-xml-reporting-1.3.2.tar.gz.

File metadata

File hashes

Hashes for unittest-xml-reporting-1.3.2.tar.gz
Algorithm Hash digest
SHA256 dec3a08e2bee908c01e04bac5fbe7bf5fd1572a8a9922c423bcaa787fcd1d4fc
MD5 e4f46a0c777982f5d2edc41e434291c3
BLAKE2b-256 aa3aab28d4e81eb8b17566ce0699f8c3466885943401974b7914e07a95cd27ec

See more details on using hashes here.

File details

Details for the file unittest_xml_reporting-1.3.2-py2.6.egg.

File metadata

File hashes

Hashes for unittest_xml_reporting-1.3.2-py2.6.egg
Algorithm Hash digest
SHA256 280401730b3094f5b2852c6001d7ac9e7ac8db00aec93059776717963b6b7ee6
MD5 2343ac291d8943cfbff86561528b5090
BLAKE2b-256 9d6e66b41db2e109d57dec294cfac6aced25d2621e644f2bf69d68b2a5d985ea

See more details on using hashes here.

File details

Details for the file unittest_xml_reporting-1.3.2-py2.5.egg.

File metadata

File hashes

Hashes for unittest_xml_reporting-1.3.2-py2.5.egg
Algorithm Hash digest
SHA256 b606ecdb37f641a0dd802b2597b901591d04f1b82f50727ac593578231a5bf4e
MD5 ea84de37979427715b2e361c1849aa22
BLAKE2b-256 7873ea19f24f019ff1063e464e0904e10803941513162b65e59fcc9745cccc27

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page