فائدة assert هي لاختبار الأكواد (كود يختبرصحة كود آخر )
يعني هي توقف تشغيل البرنامج لو حصلت مشكلة اثناء اختبار الكود
الاختبارات مبنية على أساس لدينا اثنين posts داخل store وهي تحقق أن الـ store يستطيع جلب ال post الذي لديه id = 2
في حالة أردتي تعديل الاختبارات أول شيء تحتاجي اضافته في القائمة:
dummy_posts = [
Post(id=1,
photo_url='https://images.pexels.com/photos/415829/pexels-photo-415829.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=50&w=50',
name='Sara',
body='Lorem Ipsum'),
Post(id=2,
photo_url='https://images.pexels.com/photos/736716/pexels-photo-736716.jpeg?auto=compress&cs=tinysrgb&dpr=1&h=100&w=100',
name='John',
body='Lorem Ipsum'),
Post(id=3,
photo_url='https://images.pexels.com/photos/736716/pexels-photo-736716.jpeg?auto=compress&cs=tinysrgb&dpr=1&h=100&w=100',
name='Abrar',
body='Lorem Ipsum'),
ثم في الدالة تكتبي:
def get_by_id_should_retrieve_same_object():
second_post = dummy_posts[2]
retrieved_second_post = post_store.get_by_id(3)
assert second_post is retrieved_second_post
لاحظي أنني كتبت dummy_posts[2]
والتي تعني اجلب من القائمة العنصر الثالث (العنصر الأول index = 0، الثاني 1، الثالث 2)
ثم في هذا السطر retrieved_second_post = post_store.get_by_id(3)
يجلب العنصر الثالث
وفي الأخير يقارن أنهما متطابقين assert second_post is retrieved_second_post
هكذا يضمن أن الأكواد سليمة وتجلب من الـ store المنشورات