PyTest - Fixtures
You want to use
request.addfinalizer to close two resources after a test. Which code correctly ensures both cleanup functions run after the test?A
<pre>@pytest.fixture
def multi_resource(request):
def cleanup1():
print('Close resource 1')
def cleanup2():
print('Close resource 2')
request.addfinalizer(cleanup1)
request.addfinalizer(cleanup2)
return 'resources'</pre>B
<pre>@pytest.fixture
def multi_resource(request):
def cleanup():
print('Close resource 1')
print('Close resource 2')
request.addfinalizer(cleanup())
return 'resources'</pre>C
<pre>@pytest.fixture
def multi_resource(request):
def cleanup1():
print('Close resource 1')
def cleanup2():
print('Close resource 2')
request.addfinalizer(cleanup1())
request.addfinalizer(cleanup2())
return 'resources'</pre>D
<pre>@pytest.fixture
def multi_resource(request):
def cleanup1():
print('Close resource 1')
def cleanup2():
print('Close resource 2')
request.addfinalizer = cleanup1
request.addfinalizer = cleanup2
return 'resources'</pre>