pytest рекомендует более новый tmp_path
прибор сверх tmpdir
. tmp_path
использует pathlib
, поэтому вы можете удобно использовать /
для определения путей на их основе.
Вот как вы можете использовать его в тесте:
def test_foo(tmp_path):
make_file(tmp_path / "file1", "something")
Если вам действительно нужно перейти в этот каталог, сделайте что-то вроде
def test_foo(tmp_path):
os.chdir(tmp_path) # If you're using Python 3.6 or later
# or if you're on an older version:
os.chdir(str(tmp_path))
, но в зависимости от текущего каталога пахнет кодом. Рассмотрите возможность рефакторинга вашего кода, чтобы он мог запускаться из любого места.