pytest: Jak przekazać parametr klasy do setup_class

Używam adnotacji parametryzacji pytesta, aby przekazać params do klasy. Jestem w stanie użyć parametrów w metodach testowych, jednak nie wiem, jak użyć parametrów w metodzie setup_class.

import pytest

params = ['A','B','C']

@pytest.mark.parametrize('n', params)
class TestFoo:

    def setup_class(cls):
        print ("setup class:TestFoo")
        # Do some setup based on param

    def test_something(self, n):
        assert n != 'D'

    def test_something_else(self, n):
        assert n != 'D'

Próbowałem dodać „n” jako parametr taki jak metody testowe, takie jak ta:

def setup_class(cls, n):
        print ("setup class:TestFoo")
       # Do some setup based on param

Co powoduje błąd:

self = <Class 'TestFoo'>

    def setup(self):
        setup_class = xunitsetup(self.obj, 'setup_class')
        if setup_class is not None:
            setup_class = getattr(setup_class, 'im_func', setup_class)
            setup_class = getattr(setup_class, '__func__', setup_class)
>           setup_class(self.obj)
E           TypeError: setup_class() takes exactly 2 arguments (1 given)

Czy jest jakiś inny sposób użycia parametru w metodzie setup_class?

questionAnswers(2)

yourAnswerToTheQuestion