Я пытаюсь записать логи в тесты поведения. Я веду версию 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, функции и файлы шагов реализации.
Спасибо.