FWIW mit py.test Sie schreiben können:
def test_function(tmpdir):
# tmpdir is a unique-per-test-function invocation temporary directory
Jede Testfunktion des „tmpdir“ Funktionsargument verwendet, wird ein sauberes leeres Verzeichnis erhalten, als ein Unterverzeichnis von „/ tmp/pytest-NUM erstellt "(linux, win32 hat einen anderen Pfad), wobei NUM für jeden Testlauf erhöht wird. Die letzten drei Verzeichnisse werden aufbewahrt, um die Überprüfung zu erleichtern, und ältere Verzeichnisse werden automatisch gelöscht. Sie können das Basistemp-Verzeichnis auch mit py.test --basetemp=mytmpdir
festlegen.
Das tmpdir-Objekt ist ein Objekt, das py.path.local auch so verwenden kann:
sub = tmpdir.mkdir("sub")
sub.join("testfile.txt").write("content")
Aber es ist auch in Ordnung, es zu konvertieren nur zu einem „string“ Pfad:
tmpdir = str(tmpdir)
Kann 'tmpdir' funcarg mit setup/teardown xUnit Methoden in py.test verwendet werden? So z.B. Wechsel von 'def setup_method (self, method)' zu 'def setup_method (self, method, tmpdir)'? – KomodoDave
tmpdir kann verwendet werden, wenn Sie Ihre Setup-Methode mit '' pytest.fixture (autouse = True) '' dekorieren, in welchem Fall '' setup_method'' Fixtures als normale Pytest-Fixtures empfangen kann. Sehen Sie sich die Fixtures für die Bedeutung des automatischen Fixtures an. – hpk42