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
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