Wie behaupte ich gleich zwei pydantische Modelle mit Scheinattributen in PyTest?Python

Python-Programme
Anonymous
 Wie behaupte ich gleich zwei pydantische Modelle mit Scheinattributen in PyTest?

Post by Anonymous »

sagen wir, ich habe die folgende Assert -Aussage mit den pydantischen Modellen: < /p>

Code: Select all

assert my_schedule == [
Class.construct(
student_id=student1.student1.id,
property=Property.A,
est_time=mock.ANY,
),
Class.construct(
student_id=student1.student1.id,
property=Property.B,
est_time=mock.ANY,
)
]
< /code>
Jetzt sind alle anderen Attribute außer est_time gleich. i, e: < /p>
my_schedule = [
Class(
student_id=student1.id,
property=Property.A,
est_time=datetime(2020,1,3),
),
Class(
student_id=student1.id,
property=Property.B,
est_time=datetime(2020,1,4),
)
]
< /code>
Aber die obige Behauptung schlägt fehl  Ich möchte est_time verspotten, da es nicht Teil des Testbereichs ist, es ist schwierig / umständlich, jedes Mal zu berechnen. (Die Berechnung basiert auf der aktuellen Zeit.) < /p>
Das habe ich irgendwann getan, aber ich suche nach einer "saubereren /pythonischeren Art", um das gleiche Ergebnis zu erzielen: < / p>
expected_list = [
Class.construct(
student_id=student1.student1.id,
property=Property.A,
est_time=mock.ANY,
),
Class.construct(
student_id=student1.student1.id,
property=Property.B,
est_time=mock.ANY,
)
]

for result, expected in zip(my_schedules, expected_list):
assert result.dict() == expected.dict()
Vielen Dank im Voraus

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post