Как вызвать настройку один раз для всех тестов и разборку после того, как все будет завершено

У меня есть куча тестов, написанных с использованием pytest. Все они находятся в каталоге dir . Например:

dir/test_base.py
dir/test_something.py
dir/test_something2.py
...

Упрощенная версия кода в них выглядит следующим образом:

test_base.py

import pytest

class TestBase:
   def setup_module(module):
      assert False

   def teardown_module(module):
      assert False

test_something.py

import pytest
from test_base import TestBase

class TestSomething(TestBase):
   def test_dummy():
       pass

test_something2.py

import pytest
from test_base import TestBase

class TestSomethingElse(TestBase):
   def test_dummy2():
       pass

Все мои test_something * .py файлы расширяют базовый класс в test_base.py . Теперь я написал методы setup_module (module) и teardown_module (module) в test_base.py . Я ожидал, что setup_module будет вызываться один раз для всех тестов, а teardown_module () будет вызываться в конце, когда все тесты будут завершены.

Но кажется, что функции не вызываются? Нужны ли мне декораторы для того, чтобы это работало?

14
задан bsplosion 5 March 2019 в 14:54
поделиться