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
|