多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
在使用`pytest`进行测试时,标准输出(如`print`函数的输出)默认不会显示在控制台上。这是因为`pytest`捕获了所有的输出。如果你想要在测试运行时看到`print`函数的输出,你可以使用以下方法: 1. 使用`-s`或`--capture=no`选项运行`pytest`,这将禁用输出捕获功能: ~~~ shellCopy codepytest -s ~~~ 或者 ~~~ shellCopy codepytest --capture=no ~~~ 2. 如果你不想全局禁用输出捕获,而是只想在特定的测试中看到输出,你可以使用`capsys`或`capfd`内置的fixture来临时禁用输出捕获。例如: ~~~ pythonCopy codedef test_example(capsys): print("Hello, World!") # 使用 capsys.readouterr() 来获取输出 captured = capsys.readouterr() assert "Hello, World!" in captured.out ~~~ 在这个例子中,`capsys`fixture 被用来捕获测试中的输出。调用`capsys.readouterr()`会返回一个对象,其中包含了捕获的标准输出(`out`)和标准错误输出(`err`)。即使在捕获模式下,你也可以通过检查这些值来验证输出。 3. 另外,你可以在测试函数中使用`pytest`的`logging`功能来记录信息,这些信息可以通过配置`pytest`来显示: ~~~ pythonCopy codeimport logging def test_logging(): logging.info("Info level log message") logging.warning("Warning level log message") ~~~ 然后,你可以通过设置日志级别来控制日志的输出: ~~~ shellCopy codepytest --log-cli-level=INFO ~~~ 使用这些方法,你可以根据需要在`pytest`中查看`print`函数的输出或者记录日志信息。