pytest setup_class 方法和数据库访问

Dmi*_*nov 5 pytest python-3.x pytest-django

import pytest
from . import utilization

pytestmark = pytest.mark.django_db
some_period = 'test' 

@pytest.mark.django_db
class TestUtilization(object):
    @classmethod
    def setup_class(self):
        self.period = some_period
        self.metric = utilization.Utilization(period=self.period)
        print('setup')

    def test_get_query_params(self, tprint):
        """Should return dict with start/end keys of datetime values"""
        # assert self.xxx == some_period
        tprint(self.period)
        tprint(self.metric)

    def test_call(self, tprint):
        """Test that we have desired fields and index of the metric"""
        pass
Run Code Online (Sandbox Code Playgroud)

我得到这个:

E       Failed: Database access not allowed, use the "django_db" 
mark, or the "db" or "transactional_db" fixtures to enable it.
Run Code Online (Sandbox Code Playgroud)

我该如何解决?

理想情况下,我只需要 setup_class 工作一次,并且以下行 self.metric = utilization.Utilization(period=self.period)需要数据库访问

德米特里