编写一个pytest函数来检查控制台(stdout)输出。
- 论坛
- 编写一个pytest函数来检查控制台(stdout)输出。
12 浏览
编写一个pytest函数来检查控制台(stdout)输出。
本文介绍了如何使用pytest来捕获控制台输出。我尝试了以下代码,但是出现了错误。
import sys import pytest def f(name): print "hello "+ name def test_add(capsys): f("Tom") out,err=capsys.readouterr() assert out=="hello Tom" test_add(sys.stdout)
输出结果为:
python test_pytest.py hello Tom Traceback (most recent call last): File "test_pytest.py", line 12, intest_add(sys.stdout) File "test_pytest.py", line 8, in test_add out,err=capsys.readouterr() AttributeError: 'file' object has no attribute 'readouterr'
我还尝试了将`capsys`替换为`capfd`,但是得到了相同的错误。请问问题出在哪里,如何修复?