【问题标题】:Ignore stderr output for test result忽略测试结果的标准错误输出
【发布时间】:2012-07-24 16:58:45
【问题描述】:

我正在尝试使用nose 测试一个包。在我写给stderr 的其中一项测试中,这会导致测试在Jenkins 中被报告为损坏(我使用nose 开始测试并生成Junit .xml 输出以确定成功) 是否可以输入stderr 或检查某些值?

我的测试大致如下:

def testFunc() {
    f1()
    f2() }

由于我从内部写入 stderr 而失败,我可以告诉鼻子忽略这个还是测试遗漏了什么(我希望它只有在生成异常时才会失败)

编辑: 错误输出导致失败的假设是错误的。在调试输出的 100 行之间是一个例外。 (出于某种原因,jenkins 首先显示了未格式化的(无换行符)输出,然后是异常跟踪,之后再次显示输出,带有换行符。我只是忽略了异常)

【问题讨论】:

标签: python jenkins jython nose


【解决方案1】:

如果您不想看到标准错误,可以使用logging tutorial

例子:

import logging
logging.basicConfig(level=logging.ERROR)
# instead of sys.stderr.write():
logging.warning("This is a warning!")

在这种情况下,警告低于日志记录级别阈值,因此不会打印到 stderr。如果您想查看错误但不一定是实时的,您可以指定一个日志文件(使用 logging.basicConfig 的文件名参数)。

【讨论】:

    猜你喜欢
    • 2016-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-27
    • 2014-08-05
    • 1970-01-01
    相关资源
    最近更新 更多