我有一堆使用 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()
在所有测试完成后在最后调用。
但是这些函数似乎没有被调用?我需要一些装饰器才能工作吗?