Согласно pytest documentation, можно переопределить настройки временного каталога по умолчанию следующим образом:Как динамически изменять TMPDIR Base Каталог pytest в
py.test --basetemp=/base_dir
Когда tmpdir
приспособление затем используется в тесте ...
def test_new_base_dir(tmpdir):
print str(tmpdir)
assert False
... что-то вроде следующего затем будет выведен на экран:
/base_dir/test_new_base_dir_0
Это работает по назначению и для некоторых случаев использования может быть очень полезным.
Однако, я хотел был бы иметь возможность изменить эту настройку для каждого теста (или, может быть, я должен сказать, что это «per-fixture»). Возможно ли это?
Я близок только качению мой собственный tmpdir
на основе code for the original, но предпочел бы не делать этого - я хочу построить на вершине существующей функциональности, где я могу, не дублировать его.
Как и в сторону, мой конкретный случай использования является то, что я пишу модуль Python, который будет действовать на различных файловых систем (NFS4 и т.д.), и было бы неплохо иметь возможность, чтобы получить функциональность из tmpdir
, чтобы иметь возможность создавать следующие приборы:
def test_nfs3_stuff(nfs3_tmpdir):
... test NFS3 functionality
def test_nfs4_stuff(nfs4_tmpdir):
... test NFS4 functionality