Visualize your crappy tests
pytest-poo is a plugin for pytest that points out your crappy tests with piles of poo.
I showed the –poo option at EuroPython 2013. A number of people thought I should release it, so here it is.
This is what the output usually looks like:
… when passing –poo, this is what is outputted instead:
A recent version of pytest is required (>= 2.3.4).
- pip install pytest-poo
- Mark tests with the pytest.mark.poo marker.
- Run tests with the –poo option to enable pile of poo output.
Add the pytest.mark.poo marker to the tests that you consider crappy. The markers are standard py.test markers and can be used like this on a test function:
import pytest @pytest.mark.poo def test_something(): assert 0
or for classes:
import pytest class MyTests(object): pytestmark = [pytest.mark.poo]
… or for entire modules:
import pytest pytestmark = pytest.mark.poo def test_a(): assert 0 def test_b(): assert 0
Showing crappy tests during test run
Just run py.test with the --poo option to enable the output. To always enable, add --poo to addopts in pytest.ini:
[pytest] addopts = --poo