pytest: como passar um parâmetro de classe para setup_class

Eu estou usando anotações de parametrizar do pytest para passar parâmetros para uma classe. Eu sou capaz de usar os parâmetros nos métodos de teste, no entanto, não consigo descobrir como usar os parâmetros no método 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'

Eu tentei adicionar 'n' como um parâmetro como os métodos de teste, como este:

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

O que resulta em um erro:

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)

Existe alguma outra maneira de usar o parâmetro no método setup_class?

questionAnswers(2)

yourAnswerToTheQuestion