Add test to ensure capsys and capfd error out when using "getfixturevalue" inside a test
This commit is contained in:
		
							parent
							
								
									0ca06962e9
								
							
						
					
					
						commit
						0dd1c8bf14
					
				|  | @ -421,6 +421,25 @@ class TestCaptureFixture: | ||||||
|             "*capsys*capfd*same*time*", |             "*capsys*capfd*same*time*", | ||||||
|             "*2 error*"]) |             "*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"]) |     @pytest.mark.parametrize("method", ["sys", "fd"]) | ||||||
|     def test_capture_is_represented_on_failure_issue128(self, testdir, method): |     def test_capture_is_represented_on_failure_issue128(self, testdir, method): | ||||||
|         p = testdir.makepyfile(""" |         p = testdir.makepyfile(""" | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue