nnj*_*nja 7 python bdd logging python-behave
好吧,在我的environment.py文件中,我可以通过以下方式记录东西:
logging.basicConfig(level=logging.DEBUG, filename="example.log")
def before_feature(context, feature):
logging.info("test logging")
Run Code Online (Sandbox Code Playgroud)
但当我在步骤文件中时,我无法执行日志记录:
logger = logging.getLogger(__name__)
logger.setLevel(logging.DEBUG)
@given("we have a step")
def step_impl(context):
logger.debug("Test logging 2")
Run Code Online (Sandbox Code Playgroud)
步骤内的日志消息不会显示.我正在使用python行为模块.有任何想法吗?
我在运行行为时尝试启用和禁用logcapture,但它没有任何区别.
小智 6
默认情况下,行为倾向于在功能执行期间捕获日志,并且仅在失败的情况下显示它们。
要禁用此功能,您可以
log_capture=false
在beeve.ini中设置
或者,您可以使用--no-logcapture命令行选项
进一步阅读:Behave API 参考、Behave LogCapture
对我有用的:
behave --no-capture --no-capture-stderr --no-logcapture
Run Code Online (Sandbox Code Playgroud)
并在environment.py中添加以下狙击:
def after_step(context, step):
print("")
Run Code Online (Sandbox Code Playgroud)
原因:我发现行为不会记录步骤的最后一个打印语句。所以我只是在之前的狙击的每个步骤之后添加了一个空的打印。
希望有帮助