29 lines
		
	
	
		
			683 B
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			683 B
		
	
	
	
		
			Python
		
	
	
	
| """Tests for fixtures with different scoping."""
 | |
| 
 | |
| 
 | |
| def test_class_scope_with_normal_tests(testdir):
 | |
|     testpath = testdir.makepyfile("""
 | |
|         import pytest
 | |
| 
 | |
|         class Box:
 | |
|             value = 0
 | |
| 
 | |
|         @pytest.fixture(scope='class')
 | |
|         def a(request):
 | |
|             Box.value += 1
 | |
|             return Box.value
 | |
| 
 | |
|         def test_a(a):
 | |
|             assert a == 1
 | |
| 
 | |
|         class Test1:
 | |
|             def test_b(self, a):
 | |
|                 assert a == 2
 | |
| 
 | |
|         class Test2:
 | |
|             def test_c(self, a):
 | |
|                 assert a == 3""")
 | |
|     reprec = testdir.inline_run(testpath)
 | |
|     for test in ['test_a', 'test_b', 'test_c']:
 | |
|         assert reprec.matchreport(test).passed
 |