GNU/Linux >> Linux の 問題 >  >> Linux

pytest - テストを実行する CLI コマンドからログ レベルを指定します

Pytest 3.5 でパラメーターが導入されました

pytest --log-cli-level=INFO

3.5 より前のバージョンでは、pytest コマンドライン オプションとコマンドライン例の python ログレベルを組み合わせて、次のことを行うことができます:

以下を 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

logger をリクエストします テストのフィクスチャ

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

次に、pytest を次のように実行します

py.test --log INFO

ログレベルを INFO に設定します .


これは現在、pytest に組み込まれています。テストを実行するときに、コマンド ラインに「--log-level=」を追加するだけです。例:

pytest --log-level=INFO

ドキュメントの更新はこちらにあります:https://docs.pytest.org/en/latest/logging.html


--log-cli-level=INFO を試す

いいね:

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. コマンドラインからWordPressのバージョンを見つける

  2. CLI からの Berkeley DB ファイルの検査

  3. コマンド ラインから電子メールを送信するにはどうすればよいですか?

  1. mail コマンドを使用してメールを送信するときの from ユーザーを指定します。

  2. パイプからコマンドラインで作成するときに、zip 内でファイル名を指定するにはどうすればよいですか?

  3. CLI から、ファイルの最後の行を出力します。

  1. コマンドラインからリモートでLinuxワークスペースを構成する

  2. LinuxコマンドラインからのI/Oレポート

  3. Python から Linux コマンドを実行する