Python tox: показать stdout / prints при успешном запуске теста? - PullRequest
1 голос
/ 03 октября 2019

Иногда я хочу напечатать некоторые операторы, чтобы убедиться, что юнит-тесты выполняются нормально (даже если они пройдены), но не могу найти опцию, которая их включает.

Если тесты не пройдены, тогда он показываетпользовательские распечатки в качестве вывода, но если он проходит, он игнорирует распечатки или журналы (я имею в виду, он не видит их на выводе терминала).

Я пытался использовать многословие, как -vvvv, но он по-прежнему игнорирует моипечать. С nose есть опция типа --nologcapture. Есть ли что-то подобное в tox?

1 Ответ

0 голосов
/ 21 октября 2019

tox как таковой - это просто универсальный создатель venv, установщик deps и исполнитель команд. Он не выполняет захват выходных данных (если вы не используете - параллельный ). Так что это на уровне абстракции от носа. tox может запускать ваши тесты или что-либо еще, что можно запустить через командную строку.

Как вы уже упомянули о носе: в зависимости от вашего бегуна, вам может потребоваться отключить захват выходных данных, чтобы увидеть отпечатки, поступающие с тестов. Так, например, если вы используете pytest, вы можете использовать pytest -s, чтобы отключить захват всех выходных данных (см. Также docs )

Вы можете также распечатать что-нибудь после запуска теста, добавив что-то вроде этогов вашем tox.ini testenv:

[testenv:test]
[...]
commands =
    <some test command>
    python -c 'print("All is fine."))'
...