Python tox:显示 stdout/prints 测试成功 运行?
Python tox: show stdout/prints on successful test run?
有时我想打印一些语句,以确保单元测试 运行 正常(即使它通过了),但找不到启用它的选项。
如果测试失败,它会显示自定义打印作为输出,但如果通过,它会忽略打印或日志(我的意思是,它不会在终端输出中看到它们)。
我尝试使用冗长的方式,例如 -vvvv
,但它仍然忽略了我的打印。 nose
有一个选项,如 --nologcapture
。 tox
中有类似的东西吗?
tox 本身只是一个通用的 venv 创建者、deps 安装程序和命令执行程序。它不进行输出捕获(除非您使用 --parallel)。所以它与鼻子处于不同的抽象层次。 tox 可以 运行 你的测试或任何其他 运行nable 通过命令行。
就像您已经提到的鼻子:根据您的测试 运行您可能需要停用输出捕获以查看来自测试的指纹。因此,如果您使用 pytest,例如您可以使用 pytest -s
禁用所有输出捕获(另请参阅 docs)
您还可以在 运行 测试后打印一些内容,方法是在 tox.ini
testenv 中添加类似的内容:
[testenv:test]
[...]
commands =
<some test command>
python -c 'print("All is fine."))'
有时我想打印一些语句,以确保单元测试 运行 正常(即使它通过了),但找不到启用它的选项。
如果测试失败,它会显示自定义打印作为输出,但如果通过,它会忽略打印或日志(我的意思是,它不会在终端输出中看到它们)。
我尝试使用冗长的方式,例如 -vvvv
,但它仍然忽略了我的打印。 nose
有一个选项,如 --nologcapture
。 tox
中有类似的东西吗?
tox 本身只是一个通用的 venv 创建者、deps 安装程序和命令执行程序。它不进行输出捕获(除非您使用 --parallel)。所以它与鼻子处于不同的抽象层次。 tox 可以 运行 你的测试或任何其他 运行nable 通过命令行。
就像您已经提到的鼻子:根据您的测试 运行您可能需要停用输出捕获以查看来自测试的指纹。因此,如果您使用 pytest,例如您可以使用 pytest -s
禁用所有输出捕获(另请参阅 docs)
您还可以在 运行 测试后打印一些内容,方法是在 tox.ini
testenv 中添加类似的内容:
[testenv:test]
[...]
commands =
<some test command>
python -c 'print("All is fine."))'