GNU/Linux >> Tutoriales Linux >  >> Linux

pytest:especifique el nivel de registro desde el comando CLI que ejecuta las pruebas

Pytest 3.5 introdujo un parámetro

pytest --log-cli-level=INFO

Para las versiones anteriores a la 3.5, puede combinar las opciones de la línea de comandos de pytest y el nivel de registro de python desde el ejemplo de la línea de comandos para hacer lo siguiente:

Agregue lo siguiente a conftest.py :

import pytest
import logging


def pytest_addoption(parser):
    parser.addoption(
        "--log", action="store", default="WARNING", help="set logging level"
    )


@pytest.fixture
def logger():
    loglevel = pytest.config.getoption("--log")
    logger = logging.getLogger(__name__)

    numeric_level = getattr(
        logging,
        loglevel.upper(),
        None
    )
    if not isinstance(numeric_level, int):
        raise ValueError('Invalid log level: %s' % loglevel)

    logger.setLevel(numeric_level)
    return logger

y luego solicita el logger accesorio en tus pruebas

def test_bla(logger):
    assert True
    logger.info("True is True")

Luego ejecuta pytest como

py.test --log INFO

para establecer el nivel de registro en INFO .


Esto ahora está integrado en pytest. Simplemente agregue '--log-level=' a la línea de comando cuando ejecute su prueba. Por ejemplo:

pytest --log-level=INFO

Las actualizaciones de la documentación se pueden encontrar aquí:https://docs.pytest.org/en/latest/logging.html


Prueba --log-cli-level=INFO

como:

pytest -vv -s --log-cli-level=INFO --log-cli-format="%(asctime)s [%(levelname)8s] %(message)s (%(filename)s:%(lineno)s)" --log-cli-date-format="%Y-%m-%d %H:%M:%S" ./test_file.py

Linux
  1. 4 formas de mantener un comando en ejecución después de cerrar la sesión de SSH

  2. Encuentra la versión de WordPress desde la línea de comandos

  3. ¿Cómo se especifican los nombres de archivo dentro de un zip al crearlo en la línea de comando desde una tubería?

  4. Ejecutando un comando de linux desde python

  5. ¿Cómo ejecutar el comando Vim desde el shell?

Configurar un espacio de trabajo de Linux de forma remota desde la línea de comandos

Programe hardware desde la línea de comandos de Linux

Informes de E/S desde la línea de comandos de Linux

Migración de un servidor Linux desde la línea de comandos

Guardar la salida de un comando desde la terminal de Debian a un archivo

¿Cómo obtengo mi dirección IP desde la línea de comandos?