GNU/Linux >> Linux Esercitazione >  >> Linux

pytest - specifica il livello di log dal comando CLI che esegue i test

Pytest 3.5 ha introdotto un parametro

pytest --log-cli-level=INFO

Per le versioni precedenti alla 3.5 puoi combinare le opzioni della riga di comando pytest e il python loglevel dall'esempio della riga di comando per eseguire le seguenti operazioni:

Aggiungi quanto segue 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

e poi richiedi il logger appuntamento fisso nei tuoi test

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

Quindi esegui pytest come

py.test --log INFO

per impostare il livello di log su INFO .


Questo è ora integrato in pytest. Basta aggiungere '--log-level=' alla riga di comando durante l'esecuzione del test. Ad esempio:

pytest --log-level=INFO

Gli aggiornamenti della documentazione sono disponibili qui:https://docs.pytest.org/en/latest/logging.html


Prova --log-cli-level=INFO

come:

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. Configura un'area di lavoro Linux in remoto dalla riga di comando

  2. Report di I/O dalla riga di comando di Linux

  3. Esegui script Perl/PHP dalla riga di comando

  4. Trova la versione di WordPress dalla riga di comando

  5. Esame dei file Berkeley DB dalla CLI

Programma hardware dalla riga di comando di Linux

Salva l'output di un comando dal terminale Debian in un file

Nozioni di base sulla riga di comando di Linux:esecuzione di comandi dalla riga di comando

Come si specificano i nomi dei file all'interno di uno zip durante la creazione sulla riga di comando da una pipe?

Esecuzione di un comando linux da python

Come ottengo il mio indirizzo IP dalla riga di comando?