0

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

所以我的测试看起来大致是这样的:

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

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

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

4

1 回答 1

3

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

例子:

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

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

于 2012-07-24T17:16:09.313 回答