Ich melde Daten aus einigen Tests, und jeder Test kann einen Abschnitt "Zusammenfassung" und einen "Details" haben. Das Feld "Zusammenfassung" für einen bestimmten Test sollte statisch sein, wobei zusätzliche dynamische Informationen in das Feld Details wie folgt eingehen: < /p>
Code: Select all
run_test()
if condition:
report_test_data(summary="condition met", details=f"{component} ended with {state}")
else:
report_test_data(summary="condition not met", details=f{component} ended with {state}")
Dies gilt jedoch nur für diese Aufrufe an report_test_data , und es gibt nichts, was ein weiterer Test daran hindert, diese zu tauschen oder alle Daten in das Feld 'Zusammenfassung' zu legen:
Code: Select all
run_test()
if condition:
report_test_data(summary=f"{component} ended with {state} - condition met", details="")
else:
report_test_data(summary=f"{component} ended with {state} - condition not met", details="")
Ich analysiere die Testdaten basierend auf der Zusammenfassung, sodass ein bestimmter Endstatus (z. B. condition = true ) eine statische Rückgabezeichenfolge haben sollte. Ich dachte darüber nach, eine Klasse zu erstellen, die jede mögliche "Zusammenfassungsstufe" manuell definiert, aber das wird mit weiteren Tests schnell unhaltbar, wenn ein bestimmter Test zehn mögliche Endzustände haben kann. Die beste Option, die ich mir vorstellen kann, ist, wenn ich den in "Zusammenfassung" übergebenen Wert als normale Zeichenfolge erzwingen könnte. Gibt es eine Möglichkeit, F-Strings in eine bestimmte Funktion zu übergeben?>