Metadata-Version: 2.4
Name: marbles.core
Version: 0.11.0
Summary: A unittest extension that provides additional information on test failure
Home-page: https://github.com/twosigma/marbles
Author: Jane Adams, Leif Walsh
Author-email: jane@twosigma.com, leif@twosigma.com
License: MIT
Project-URL: Documentation, https://marbles.readthedocs.io
Project-URL: Source, https://github.com/twosigma/marbles
Project-URL: Tracker, https://github.com/twosigma/marbles/issues
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Financial and Insurance Industry
Classifier: Intended Audience :: Healthcare Industry
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: Manufacturing
Classifier: Intended Audience :: Science/Research
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Topic :: Documentation
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Software Development :: Testing
Requires-Python: >=3.5,<3.8
Description-Content-Type: text/x-rst
License-File: LICENSE
Provides-Extra: dev
Requires-Dist: coverage; extra == "dev"
Requires-Dist: flake8; extra == "dev"
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: license
Dynamic: license-file
Dynamic: project-url
Dynamic: provides-extra
Dynamic: requires-python
Dynamic: summary

.. image:: marbles.svg
   :height: 150px
   :width: 150px
   :align: right

=======
marbles
=======

.. image:: https://img.shields.io/pypi/v/marbles.svg
        :target: https://pypi.python.org/pypi/marbles

.. image:: https://img.shields.io/travis/twosigma/marbles.svg
        :target: https://travis-ci.org/twosigma/marbles

.. image:: https://readthedocs.org/projects/marbles/badge/?version=latest
        :target: https://marbles.readthedocs.io/en/latest/?badge=latest
        :alt: Documentation Status

.. image:: https://codecov.io/gh/twosigma/marbles/branch/master/graph/badge.svg
        :target: https://codecov.io/gh/twosigma/marbles

Read better test failures.

* Free software: MIT license
* Documentation: https://marbles.readthedocs.io

Overview
--------

`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

Features
--------

* 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

Demo
----

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

.. image:: getting_started.png

You can also run your existing `unittest` tests with `marbles`

.. code-block:: bash

   python -m marbles test_module.py

Installing
----------

.. code-block:: bash

   pip install marbles
