GNU/Linux >> LINUX-Kenntnisse >  >> Linux

pytest - Geben Sie die Protokollebene vom CLI-Befehl an, der die Tests ausführt

Pytest 3.5 hat einen Parameter eingeführt

pytest --log-cli-level=INFO

Für Versionen vor 3.5 können Sie die pytest-Befehlszeilenoptionen und den Python-Loglevel aus dem Befehlszeilenbeispiel kombinieren, um Folgendes zu tun:

Fügen Sie Folgendes zu conftest.py hinzu :

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

und fordere dann die logger an Fixpunkt in Ihren Tests

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

Führen Sie dann pytest wie

aus
py.test --log INFO

um die Protokollebene auf INFO zu setzen .


Dies ist jetzt in pytest integriert. Fügen Sie einfach „--log-level=“ zur Befehlszeile hinzu, wenn Sie Ihren Test ausführen. Zum Beispiel:

pytest --log-level=INFO

Dokumentationsaktualisierungen finden Sie hier:https://docs.pytest.org/en/latest/logging.html


Versuchen Sie es mit --log-cli-level=INFO

wie:

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 Möglichkeiten, einen Befehl weiter auszuführen, nachdem Sie sich von der SSH-Sitzung abgemeldet haben

  2. Wie starte ich Icewm von der Befehlszeile aus neu?

  3. Wie halte ich einen Befehl, den ich von der Shell gestartet habe, am Laufen, wenn ich mich von der Shell abmelde?

  4. Grundlagen der Linux-Befehlszeile – Ausführen von Befehlen über die Befehlszeile

  5. Wie führe ich den Vim-Befehl von der Shell aus?

Konfigurieren Sie einen Linux-Arbeitsbereich remote über die Befehlszeile

Programmieren Sie Hardware über die Linux-Befehlszeile

E/A-Berichte über die Linux-Befehlszeile

Führen Sie Perl/PHP-Skripte von der Befehlszeile aus

Migrieren eines Linux-Servers über die Befehlszeile

Speichern Sie die Ausgabe eines Befehls vom Debian-Terminal in einer Datei