Fwiw usando py.test puede escribir:
def test_function(tmpdir):
# tmpdir is a unique-per-test-function invocation temporary directory
Cada función de prueba utilizando el "tmpdir" argumento de la función recibirá un directorio vacío y limpio, creado como un subdirectorio de "/ tmp/PYtest-NUM "(linux, win32 tiene una ruta diferente) donde NUM se incrementa para cada ejecución de prueba. Los últimos tres directorios se mantienen para facilitar la inspección y los más antiguos se eliminan automáticamente. También puede establecer el directorio temp básico con py.test --basetemp=mytmpdir
.
El objeto es un objeto tmpdir py.path.local que también se puede utilizar como esto:
sub = tmpdir.mkdir("sub")
sub.join("testfile.txt").write("content")
Pero también es bien para simplemente convertirlo en un camino "cadena":
tmpdir = str(tmpdir)
¿Se puede utilizar 'tmpdir' funcarg con los métodos setup/teardown xUnit en py.test? Por ejemplo, cambiar de 'def setup_method (self, method)' a 'def setup_method (self, method, tmpdir)'? – KomodoDave
tmpdir se puede usar si decora su método de configuración con '' @ pytest.fixture (autouse = True) '', en cuyo caso '' setup_method'' puede recibir accesorios como accesorios normales de Pytest. Consulte los documentos de los dispositivos para conocer el significado del dispositivo de autouso. – hpk42