FWIW с помощью py.test вы можете написать:
def test_function(tmpdir):
# tmpdir is a unique-per-test-function invocation temporary directory
Каждая функция тестирования с помощью «TmpDir» аргумент функции получит чистую пустую директорию, создан как подкаталог «/ TMP/pytest-NUM "(linux, win32 имеет другой путь), где NUM увеличивается для каждого тестового прогона. Последние три каталога хранятся для облегчения проверки, а старые автоматически удаляются. Вы также можете установить базовую папку temp с py.test --basetemp=mytmpdir
.
Объект TMPDIR является py.path.local объект, который также можно использовать следующим образом:
sub = tmpdir.mkdir("sub")
sub.join("testfile.txt").write("content")
Но это тоже хорошо, чтобы просто преобразовать его в «строку» путь:
tmpdir = str(tmpdir)
Можно ли использовать tmpdir' funcarg с установкой/отключением xUnit-методов в py.test? Так, например, изменить из 'def setup_method (self, method)' to def def_set_method (self, method, tmpdir) '? – KomodoDave
tmpdir можно использовать, если вы украшаете свой метод установки '' @ pytest.fixture (autouse = True) '', и в этом случае '' setup_method'' может принимать светильники как обычные фитинги для pytest. См. Документацию по приборам по значению автозапуска. – hpk42