pytest中capsys fixture的合适类型注解是什么?
capsys fixture的类型注解方案
要消除mypy的类型注解警告,你可以给capsys参数添加pytest.CaptureFixture[str]类型注解,具体操作如下:
- 确保代码顶部已导入
pytest模块 - 在测试函数的
capsys参数后补充类型注解:capsys: pytest.CaptureFixture[str]
修改后的完整测试代码示例:
import pytest @pytest.mark.parametrize( "values,expected", [ ([], "guessed so far: \n"), (["single one"], "guessed so far: single one\n"), (["one", "two", "three", "4"], "guessed so far: 4, three, two, one\n"), ], ) def test_print_guesses(capsys: pytest.CaptureFixture[str], values: list[str], expected: str) -> None: hm.print_guesses(values) assert capsys.readouterr().out == expected
额外建议:给values参数补充更精确的list[str]类型注解,能让mypy的类型检查更严谨准确。
内容的提问来源于stack exchange,提问作者KindaNewAtThis
相关产品推荐
相关产品推荐

