我尝试使用check_cfg中使用的ctx.msg_start()和ctx.msg_end()来显示unit / func测试的测试结果。但是使用下面的代码,我总是得到额外的“—–”打印,实际文本得到……
快速修复 - 不确定这是否是疯狂的......
#overwrite the default logger to prevent duplicate logging def to_log_overwrite(x): pass self.generator.bld.to_log = to_log_overwrite
之前 .start_msg(...)
.start_msg(...)
事实上,start_msg和end_msg是为配置而定制的。如果在构建中使用它们,则会获得stdout版本和转到config.log文件的部分。
一种方法是设置记录器:
bld = self.generator.bld bld.logger = Logs.make_logger(path_to_some_log_file, 'mylogger') bld.start_msg("Running test") # do something bld.end_msg("Test ok") bld.logger = None
您可以使用带有NullHandler的标准python记录器,而不是WAF Logs.make_logger。