Skip to main content

A unittest extension that provides additional information on test failure

Project description


marbles Documentation Status

Read better test failures.


marbles is a Python unittest extension that allows test authors to write richer tests that expose more information on test failure to help you debug failing tests faster.

  • Treat test failures as documentation

  • Contextualize failures without digging through test code and dropping debugging statements everywhere

  • Write clearer, more explicit tests


  • Drop-in unittest replacement

  • Information-rich failure messages

    • The full statement that failed (instead of just the last line)

    • Local variables in scope at the time the test failed

    • Optional annotation provided by the test author with details about the test

    • Ability to toggle traceback

  • Semantically-rich assertion methods

  • Assertion logging


You can run the example tests provided to see what a marbles failure message looks like

python -m marbles docs/examples/
FAIL: test_create_resource (docs.examples.getting_started.ResponseTestCase)
marbles.core.marbles.ContextualAssertionError: 409 != 201

Source (/path/to/docs/examples/
     39 res = requests.put(endpoint, data=data)
 >   40 self.assertEqual(
     41     res.status_code,
     42     201
     43 )
        data={'name': 'Little Bobby Tables', 'id': 1}

Ran 1 test in 0.002s

FAILED (failures=1)

You can also run your existing unittest tests with marbles

python -m marbles


pip install marbles

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

marbles.core-0.9.4.tar.gz (16.1 kB view hashes)

Uploaded Source

Built Distribution

marbles.core-0.9.4-py2.py3-none-any.whl (22.4 kB view hashes)

Uploaded Python 2 Python 3

Supported by

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