Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

Logs before rerun appear in html report

Offen
#787 8 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Anfängerfreundlichkeit
35/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Veraltet
Tech-Stack
python
Bereich
testing

Rechercherichtung

Beginne damit, _process_logs und den vom HTML-Plugin verwendeten pytest-Hook zur Report-Verarbeitung zu lokalisieren, reproduziere dann das Problem mit dem bereitgestellten Test und pytest --reruns 1 --html=report.html. Erledigt ist die Aufgabe, wenn der generierte Report nur Logs des relevanten Testversuchs statt beider Läufe enthält.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

import logging

logger = logging.getLogger(__name__)
logger.setLevel(logging.DEBUG)
seq_num = 0

def seq():
  global seq_num
  seq_num += 1
  return seq_num

def test_fail():
  logger.info(f'Test log {seq()}')
  assert False

pytest --reruns 1 --html=report.html

The report has logs of both runs:

def test_fail():
      logger.info(f'Test log {seq()}')
>     assert False
E     assert False

test_my.py:17: AssertionError

------------------------------ Captured log call -------------------------------
INFO     test_my:test_my.py:16 Test log 1


------------------------------ Captured log call -------------------------------
INFO     test_my:test_my.py:16 Test log 2

It looks like there is logic in _process_logs to skip rerun logs, but this function is not called (maybe it was changed in pytest).

    # Don't add captured output to reruns
    if report.outcome != "rerun":
Vorherrschende Sprache
Python
Sterne
779
Forks
259
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Entwicklungsumgebung

Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus pytest-dev/pytest-html

Alle Issues in pytest-dev/pytest-html

Ähnliche Issues

Weitere Issues zu Python

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.