32 lines
		
	
	
		
			779 B
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			779 B
		
	
	
	
		
			Python
		
	
	
	
| """Tests for fixtures with different scoping."""
 | |
| import py.code
 | |
| 
 | |
| 
 | |
| def test_fixture_finalizer(testdir):
 | |
|     testdir.makeconftest("""
 | |
|     import pytest
 | |
|     import sys
 | |
| 
 | |
|     @pytest.fixture
 | |
|     def browser(request):
 | |
| 
 | |
|         def finalize():
 | |
|             sys.stdout.write('Finalized')
 | |
|         request.addfinalizer(finalize)
 | |
|         return {}
 | |
|     """)
 | |
|     b = testdir.mkdir("subdir")
 | |
|     b.join("test_overriden_fixture_finalizer.py").write(py.code.Source("""
 | |
|     import pytest
 | |
|     @pytest.fixture
 | |
|     def browser(browser):
 | |
|         browser['visited'] = True
 | |
|         return browser
 | |
| 
 | |
|     def test_browser(browser):
 | |
|         assert browser['visited'] is True
 | |
|     """))
 | |
|     reprec = testdir.runpytest("-s")
 | |
|     for test in ['test_browser']:
 | |
|         reprec.stdout.fnmatch_lines('*Finalized*')
 |