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.poomarker. - 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 0or 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 0Just run py.test with the --poo option to enable the output. To always
enable, add --poo to addopts in pytest.ini:
[pytest]
addopts = --poo