написать функцию pytest для проверки вывода на консоли (stdout) в Python?

Эта ссылка дает описание, как использовать 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, in 
    test_add(sys.stdout)
  File "test_pytest.py", line 8, in test_add
    out,err=capsys.readouterr()
AttributeError: 'file' object has no attribute 'readouterr'

что не так и что нужно исправить? благодарю вас

РЕДАКТИРОВАТЬ: согласно комментарию, я изменилcapfd, но я все еще получаю ту же ошибку

import sys
import pytest
def f(name):
    print "hello "+ name

def test_add(capfd):
    f("Tom")
    out,err=capfd.readouterr()
    assert out=="hello Tom"


test_add(sys.stdout)

Ответы на вопрос(2)

Ваш ответ на вопрос