Add test to ensure capsys and capfd error out when using "getfixturevalue" inside a test

This commit is contained in:
Bruno Oliveira 2016-07-11 20:44:46 -03:00
parent 0ca06962e9
commit 0dd1c8bf14
1 changed files with 19 additions and 0 deletions

View File

@ -421,6 +421,25 @@ class TestCaptureFixture:
"*capsys*capfd*same*time*",
"*2 error*"])
def test_capturing_getfixturevalue(self, testdir):
"""Test that asking for "capfd" and "capsys" using request.getfixturevalue
in the same test is an error.
"""
testdir.makepyfile("""
def test_one(capsys, request):
request.getfixturevalue("capfd")
def test_two(capfd, request):
request.getfixturevalue("capsys")
""")
result = testdir.runpytest()
result.stdout.fnmatch_lines([
"*test_one*",
"*capsys*capfd*same*time*",
"*test_two*",
"*capsys*capfd*same*time*",
"*2 failed in*",
])
@pytest.mark.parametrize("method", ["sys", "fd"])
def test_capture_is_represented_on_failure_issue128(self, testdir, method):
p = testdir.makepyfile("""