-
-
Notifications
You must be signed in to change notification settings - Fork 2.9k
Closed
Description
In #4064, on pytest 2.x, it was determined that unittest supported the unittest setUpModule and tearDownModule.
However, with pytest 8.x, I'm finding that it's not supported, even though the docs say it is.
In particular, I'm porting CPython's test_tarfile to backports.tarfile. When I run the tests, the setUpModule is never called.
Interestingly, the hook does seem to be honored in a minimized example.
draft @ cat test_.py
def setUpModule():
print(setUpModule.__name__)
def tearDownModule():
print(tearDownModule.__name__)
def test():
print(test.__name__)
def test2():
print(test2.__name__)
draft @ pip-run pytest -- -m pytest -s
============================================================== test session starts ===============================================================
platform darwin -- Python 3.12.2, pytest-8.1.1, pluggy-1.4.0
rootdir: /Users/jaraco/draft
collected 2 items
test_.py setUpModule
test
.test2
.tearDownModule
=============================================================== 2 passed in 0.00s ================================================================If on the other hand, I add the following to conftest.py, the setup/teardown methods are called:
@pytest.fixture(scope='module', autouse=True)
def setup_and_teardown_module(request):
request.module.setUpModule()
try:
yield
finally:
request.module.tearDownModule()But it seems like that should be unnecessary if unittest's setUpMethod and tearDownMethod are supported.
Metadata
Metadata
Assignees
Labels
No labels