Verlassen Sie die F-Stringe als Argument
Posted: 02 Apr 2025, 11:03
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>
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:
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?>
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}")
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="")