Я проверил ответы здесь и также здесь , но они не отвечают на мой вопрос.
Документы1 показывают, что у вас есть отправить capsys
в качестве параметра, как таковое def test_output(capsys):
, что также показано в этом другом примере docs2 .
Однако, None
имеет полный пример, который говорит мне, как получить доступ к capsys
Так что в моем случае у меня есть какая-то функция
# import a bunch of other modules
# run a test not calling from terminal
import pytest
def foo():
print('bar')
def test_foo(capsys):
foo()
captured = capsys.readouterr()
assert len(captured.out) > 1
Я знаю, что я Я упускаю что-то простое здесь, но я искал по ссылкам выше и более и не нашел никаких предложений.
РЕДАКТИРОВАТЬ: Дело в том, что у меня нет доступа к вызову test_foo()
с capsys
У меня нет параметра для его отправки.
EDIT2: Я был в состоянии запустил терминал с python -m pytest
, но все же Pythoni c не имеет смысла для меня, отправьте параметр для функции, которой у меня нет ... Следовательно, я не могу самостоятельно протестировать модуль, используя
if __name__ == '__main__':
test_foo()
# This does not work because I don't have `capsys`
Итак, все еще нуждаются в разъяснениях.