У меня есть куча тестов, написанных с использованием 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()
будет вызван в конце, когда все тесты будут завершены.
Но функции, кажется, не вызывают? Нужны ли декораторы для этого?