pytest: записывать метку времени при каждом запуске looponfail - PullRequest
1 голос
/ 11 июня 2019

Я использую опцию -f (--looponfail) на pytest, чтобы непрерывно запускать мой пакет юнит-тестов во время рефакторинга.Это действительно невероятно для этого.

Проблема в том, что я не могу сказать, посмотрев, когда был последний тестовый прогон, что было бы удобно узнать, когда у меня был некоторое время скрыт экран терминала и, возможно, сделанонекоторые изменения в зависимости.

Как я могу напечатать дату / время при каждом запуске теста?

Я также использовал entr для этой цели, где ябудет просто && команда date перед командой pytest, но в опции looponfail нет шва, которую я могу найти, чтобы добавить что-то подобное.Команда pytest -f намного короче и ее легче понять, чем более сложную команду entr, поэтому я подумал, что я спрошу и посмотрю, нашел ли кто-нибудь способ.

1 Ответ

1 голос
/ 11 июня 2019

Как упоминалось выше, это можно сделать с помощью pytest hook .В этом случае поместите следующее в conftest.py в каталоге проекта:

from datetime import datetime

def pytest_unconfigure(config):
    # ---called after test run, just before exiting---
    print("Last run: %s" % datetime.now().strftime("%b %d %H:%M"))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...