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>
Теперь все другие атрибуты, кроме EST_TIME, равны. 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>
Но приведенное выше утверждение не удается, потому что объекты, возвращаемые с помощью Mock.any в атрибуте EST_TIME не имеют такого же эталонного идентификатора или его атрибутов из фактического результата. < /p>
Я хочу издеваться над EST_TIME, потому что он не является частью тестового объема, а также было трудно рассчитать каждый раз. (Расчет основан на текущем времени.) < /p>
Это то, что я сделал в конце концов, но я ищу «чистый /более питонический способ» для достижения того же результата: < / 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()
Допустим, у меня есть следующее утверждение Assert с моделями Pydantic: < /p> [code]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> Теперь все другие атрибуты, кроме EST_TIME, равны. 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> Но приведенное выше утверждение не удается, потому что объекты, возвращаемые с помощью Mock.any в атрибуте EST_TIME не имеют такого же эталонного идентификатора или его атрибутов из фактического результата. < /p> Я хочу издеваться над EST_TIME, потому что он не является частью тестового объема, а также было трудно рассчитать каждый раз. (Расчет основан на текущем времени.) < /p> Это то, что я сделал в конце концов, но я ищу «чистый /более питонический способ» для достижения того же результата: < / 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() [/code] Большое спасибо заранее