在尝试为我的项目设置 python unittest 发现路径时遇到麻烦后,我用 Nose 再次尝试。我正在尝试打印出详细的输出,据称该输出默认由 Nose 捕获(根据 http://nose.readthedocs.org/en/latest/plugins/capture.html )
我有:
arg =sys.argv[:1]
arg.append('--verbosity=2')
out = nose.run(module=ft1.test_y1, argv=arg)
但是“out”是一个 bool 值
我怎样才能让它工作?
最佳答案
您最好的选择是禁用该插件并使用其他方式捕获标准输出,例如所述 here :
import sys
import nose
from cStringIO import StringIO
def basic_test():
print "hello"
if __name__=="__main__":
module_name = sys.modules[__name__].__file__
old_stdout = sys.stdout
sys.stdout = mystdout = StringIO()
result = nose.run(argv=[sys.argv[0],
module_name,
'-s'])
sys.stdout = old_stdout
print mystdout.getvalue()
当像这样运行时,你将得到:
.
----------------------------------------------------------------------
Ran 1 test in 0.000s
OK
hello
关于python - 尝试使用 Nose 捕获详细的标准输出输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21588626/