• 1000 вот так:
root
--tests
----mock s3
------__init__.py
------conftest.py
------test mock s3.py
В conftest
я издеваюсь над s3 вот так:
fixture
def mock s3():
mock = mock_s3()
mock.start()
client = boto3.client('s3')
add buckets and keys to the client
yield client
mock.stop()
А test mock s3.py
выглядит так:
usefixtures('mock s3')
def test_something():
path = Path('s3://bucket/key')
files = all the files from the path
assert some stuff
И при запуске pytest tests/mock s3/test mock s3.py
вроде нормально работает. Однако, если я не вызываю файл напрямую при запуске pytest
(например pytest tests/mock s3
), по какой-то причине он, похоже, не использует мой смоделированный s3, files
возвращает реальные файлы из s3.
Макет приспособления по-прежнему применяется (я знаю, потому что добавил распечатанные отпечатки), но по какой-то причине он не может найти файлы в макете.
EDIT - добавлен путь и файлы в test_something