作者:手机用户2602907485 | 来源:互联网 | 2023-09-17 11:50
我知道可以通过使用-s
/ --capture=no
开关来禁用pytest中的stdout和stderr捕获。另外,在测试特定功能时,可以使用capsys固定装置及其禁用方法:
def test_disabling_capturing(capsys):
print("this output is captured")
with capsys.disabled():
foo():
print("this output is also captured")
def foo():
print("output not captured,going directly to sys.stdout")
但是,整个功能foo()
的捕获被禁用。如果我只想对foo()
的特定行禁用捕获(出于测试运行时输出流的可读性)怎么办?
我知道可以将capsys固定装置作为参数传递给被测试的函数(也可以通过任何嵌套函数),但是我想知道是否有更好的方法可以不修改功能。