¿Es posible ejecutar el accesorio de desassembly solo después de que se ejecuten todos los parámetros?

Por ejemplo, si tiene:

@pytest.mark.parametrize('lang', ["EN", "FR"]) def test_whats_hot_quick_links_are_displayed(self, lang): # Do something here 

y tengo este accesorio de desassembly en conftest:

 @pytest.fixture(scope='function', autouse=True) def teardown_function(request): def execute_at_the_end(): logging.info("Ending Test Case...") database.clear() request.addfinalizer(execute_at_the_end) 

Entonces, ¿cómo puedo hacer que la función de desassembly se ejecute solo después de que se ejecuten las ejecuciones de prueba EN y FR en lugar de que se ejecute después de cada ejecución de parámetros?

Related of "¿Es posible ejecutar el accesorio de desassembly solo después de que se ejecuten todos los parámetros?"

Para este comportamiento, utilizo scope=class y envuelvo mi prueba con class :

 import pytest @pytest.yield_fixture(scope='class') def teardown_after_all_params(): yield execute_at_the_end() @pytest.mark.usefixtures('teardown_after_all_params') class TestLinks: @pytest.mark.parametrize('lang', ["EN", "FR"]) def test_whats_hot_quick_links_are_displayed(self, lang): # Do something here