example python caching directory pytest

python - example - ¿Hay alguna manera de cambiar la ubicación del directorio.cache de pytest?



pytest report (4)

Desde PyTest 3.2, se supone que hay una opción de línea de comandos para establecer la ubicación del directorio .cache : https://docs.pytest.org/en/latest/customize.html#confval-cache_dir

Sin embargo, al usar PyTest 3.2.5, esto falla para mí con una unrecognized option: --cache_dir error. Si alguien puede hacer que esto funcione, por favor, hable.

Necesito poder cambiar la ubicación del directorio .cache de pytest a la variable env, WORKSPACE. Debido a que los permisos del servidor están fuera de mi control, me encuentro con este error porque mi usuario no tiene permiso para escribir en el directorio desde donde se ejecutan las pruebas:

py.error.EACCES: [Permission denied]: open(''/path/to/restricted/directory/tests/.cache/v/cache/lastfailed'', ''w'')

¿Hay una manera de establecer la ruta del directorio .cache a la variable de entorno WORKSPACE?


No hay una opción explícita para cambiar el directorio de caché en la línea de comandos, pero es posible reemplazar las opciones en pytest.ini con la opción -o lugar:

pytest -o cache_dir=$WORKSPACE ...

Consulte la salida de pytest --help para obtener más información sobre la opción -o .

Además, para referencia estoy usando pytest 3.7.1.


Puede crear un archivo vacío llamado pytest.ini en uno de los directorios principales de su prueba, ya que se convertirá en el .cache en el que se .cache .

Ver https://pytest.org/latest/customize.html

No es ideal pero permite alguna forma de personalización.


Puede evitar la creación de .cache/ deshabilitando el complemento "cacheprovider":

py.test -p no:cacheprovider ...