FWIW utilizzando py.test si può scrivere:
def test_function(tmpdir):
# tmpdir is a unique-per-test-function invocation temporary directory
Ogni funzione di test utilizzando il "tmpdir" argomento di funzione otterrà una directory vuota pulita, creato come una sottodirectory di "/ tmp/pytest-NUM "(linux, win32 ha un percorso diverso) dove NUM è aumentato per ogni esecuzione di test. Le ultime tre directory vengono mantenute per facilitare l'ispezione e quelle più vecchie vengono automaticamente eliminate. È inoltre possibile impostare la directory temp di base con py.test --basetemp=mytmpdir
.
L'oggetto tmpdir è un oggetto py.path.local che può anche utilizzare in questo modo:
sub = tmpdir.mkdir("sub")
sub.join("testfile.txt").write("content")
Ma è anche bene per convertire solo che una "stringa" percorso:
tmpdir = str(tmpdir)
Si può usare il comando 'tmpdir' con i metodi setup/teardown xUnit in py.test? Quindi ad es. cambia da 'def setup_method (self, method)' a 'def setup_method (self, method, tmpdir)'? – KomodoDave
tmpdir può essere usato se si decora il metodo di impostazione con '' @ pytest.fixture (autouse = True) '', nel qual caso '' setup_method'' può ricevere i fixtures come normali fixture pytest. Vedi i documenti fixtures per il significato del dispositivo autouse. – hpk42