Как вызвать функцию один раз в тестовых случаях в pytest - PullRequest
0 голосов
/ 26 декабря 2018

Если я выполню тестовый пример ниже, я получу следующий вывод

sample

test_a

sample

test_b

В этой функцииsample () выполняет каждый метод в тестовых случаях, я хочу выполнить функцию в начале тестового примера, а не каждый метод.Я хочу поставить как показано ниже

образец

test_a

test_b

Пример:

def sample():

    print("sample")

class Test_example(APITestCase):

    def setUp(self):
        sample()

    def test_a(self):
        print("test_a")

    def test_b(self):
        print("test_b")

1 Ответ

0 голосов
/ 26 декабря 2018

Вам нужен прибор класса с областью действия:

@pytest.fixture(scope="class")
def sample():
    print("sample")

Но вам нужно явно использовать прибор в своих тестах:

@pytest.mark.usefixtures("sample")
class Test_example(APITestCase):
    def test_x(self):
        pass

Обратите внимание, что вам не нужно вызыватьПриспособление, либо.Это особенность вашего набора тестов, и она вызывается автоматически pytest.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...