Fix custom name for yield_fixtures
This commit is contained in:
parent
366879db27
commit
d712428d33
|
@ -175,7 +175,7 @@ def fixture(scope="function", params=None, autouse=False, ids=None, name=None):
|
|||
params = list(params)
|
||||
return FixtureFunctionMarker(scope, params, autouse, ids=ids, name=name)
|
||||
|
||||
def yield_fixture(scope="function", params=None, autouse=False, ids=None):
|
||||
def yield_fixture(scope="function", params=None, autouse=False, ids=None, name=None):
|
||||
""" (return a) decorator to mark a yield-fixture factory function
|
||||
(EXPERIMENTAL).
|
||||
|
||||
|
@ -184,12 +184,12 @@ def yield_fixture(scope="function", params=None, autouse=False, ids=None):
|
|||
statement to provide a fixture. See
|
||||
http://pytest.org/en/latest/yieldfixture.html for more info.
|
||||
"""
|
||||
if callable(scope) and params is None and autouse == False:
|
||||
if callable(scope) and params is None and not autouse:
|
||||
# direct decoration
|
||||
return FixtureFunctionMarker(
|
||||
"function", params, autouse, yieldctx=True)(scope)
|
||||
"function", params, autouse, name=name, yieldctx=True, ids=ids)(scope)
|
||||
else:
|
||||
return FixtureFunctionMarker(scope, params, autouse,
|
||||
return FixtureFunctionMarker(scope, params, autouse, name=name,
|
||||
yieldctx=True, ids=ids)
|
||||
|
||||
defaultfuncargprefixmarker = fixture()
|
||||
|
|
|
@ -2693,15 +2693,14 @@ class TestContextManagerFixtureFuncs:
|
|||
*test_yields*:2*
|
||||
""")
|
||||
|
||||
# TODO: yield_fixture should work as well (this is bugged right now)
|
||||
def test_custom_name(testdir):
|
||||
testdir.makepyfile("""
|
||||
import pytest
|
||||
@pytest.fixture(name='meow')
|
||||
def arg1():
|
||||
return 'mew'
|
||||
def test_1(meow):
|
||||
print(meow)
|
||||
""")
|
||||
result = testdir.runpytest("-s")
|
||||
result.stdout.fnmatch_lines("*mew*")
|
||||
def test_custom_name(self, testdir, flavor):
|
||||
testdir.makepyfile("""
|
||||
import pytest
|
||||
@pytest.{flavor}(name='meow')
|
||||
def arg1():
|
||||
return 'mew'
|
||||
def test_1(meow):
|
||||
print(meow)
|
||||
""".format(flavor=flavor))
|
||||
result = testdir.runpytest("-s")
|
||||
result.stdout.fnmatch_lines("*mew*")
|
||||
|
|
Loading…
Reference in New Issue