Невозможно записать события ведения журнала Behave в буфере памяти для последующего отображения или запроса - PullRequest
0 голосов
/ 07 ноября 2018

Я пытаюсь записать логи в тесты поведения. Я веду версию 1.2.5. Документацию можно найти здесь: https://media.readthedocs.org/pdf/python-behave/stable/python-behave.pdf К сожалению, я не могу получить содержимое атрибута «буфер», который заполняется при создании экземпляра объекта из «класса поведения.log_capture.LoggingCapture (config, level = None)» *

Этот тип макета у меня есть для моего текущего BDD: environment.py

import behave
from behave import log_capture
from behave.log_capture import *

def before_all(context):
    context.config.setup_logging()
    context.config.log_capture = True
    context.logging_level = "INFO"

    # create the LoggingCapture object.
    context.log_capture_data = log_capture.LoggingCapture(context.config)

    #... rest of the code here.

# @capture
def before_scenario(context, scenario):
    #... rest of the code here

def after_scenario(context, scenario):
    #... rest of the code here

def after_all(context):
    #... rest of the code here.

list_of_scenarios.feature

#... list of the scenarios.

# In one of the scenarios I need to access the "buffer" attribute which contains the captured data:
print("buffer contains {}".format(context.log_capture_data.buffer))

list_of_scenarios.py

#... implementation of steps for the scenarios

Чего мне не хватает? Когда я пытаюсь увидеть содержимое атрибута «буфер», используя print("buffer contains {}".format(context.log_capture_data.buffer)) Я получаю пустой список: buffer contains []

Я вижу журнал "INFO: ...." на консоли. Я считаю, что это запечатлено на "stdout". Я пытаюсь получить тот же вывод по атрибуту «буфер».

Обратите внимание: я настроил поведение в Linux. И я выполняю из командной строки с помощью команды: вести себя test_setup. test_setup - это каталог, в котором хранятся файлы environment.py, функции и файлы шагов реализации.

Спасибо.

...