Closed
Description
OS: Ubuntu 16.04, python2.7, pytest 4.3.1
I'm working on a plugin for pytest, therefore I create temporary python files which hold test methods. This however makes the assertion-error report of pytest less human-readable.
pytest_plugins = ["pytester"]
def test_foo(testdir):
some_test = """
def test_bar(): pass
"""
testdir.makepyfile(some_test)
testdir.inline_run()
assert "abcdefghijk" == "abdcdefghijkl"
Gives me:
_____________________ test_foo ___________________
testdir = <Testdir local('/tmp/pytest-of-foo/pytest-159/test_foo0')>
def test_foo(testdir):
some_test = """
def test_foo(): pass
"""
testdir.makepyfile(some_test)
testdir.inline_run()
> assert "abcdefghijk" == "abdcdefghijkl"
E AssertionError: assert 'abcdefghijk' == 'abdcdefghijkl'
When I rename def test_bar
to just def bar
, I get the expected easy to read error:
> assert "abcdefghijk" == "abdcdefghijkl"
E AssertionError: assert 'abcdefghijk' == 'abdcdefghijkl'
E - abcdefghijk
E + abdcdefghijkl
E ? + +
So it seems it does not like the test-method in the file. Not sure if this is a bug, or I am using it wrong?
pip list
Package Version
-------------- -------
atomicwrites 1.3.0
attrs 19.1.0
funcsigs 1.0.2
more-itertools 5.0.0
pathlib2 2.3.3
pip 19.0.3
pluggy 0.9.0
py 1.8.0
pytest 4.3.1
scandir 1.10.0
setuptools 40.8.0
six 1.12.0
wheel 0.33.1