روز برنامه‌نویس مبارک 🤩🎉 از هدایای روز برنامه‌نویس جا نمونی ⌛
۰ ثانیه
۰ دقیقه
۰ ساعت
۳ مهدی
هندل کردن ارور Duplicate entry
جامعه پی اچ پی ایجاد شده در ۰۹ شهریور ۱۴۰۱

سلام 2 تا سوال داشتم:

1- ما باید کل برناممون رو اول کامل تستش رو بنویسیم و بعد بریم سراغ پیاده‌سازی یا مثلا هر تست که مینویسیم بریم متدش رو پیاده‌سازی کنیم؟

2- توی این جلسه اومدیم متد create از Query Builder رو تست کردیم و من اومدم ستون email رو UNIQUE کردم و وقتی تست رو ران کردم بهم ارور داد، آیا این رو هم باید تست کنیم؟

PDOException: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'mehdidinarvand@gmail.com' for key 'email'

سلام وقت بخیر

1 - کار درست و اصولی این هست که شما روند TTD رو پیش برید یعنی اول برای بخش‌های مختلف پروژه تست بنویسید و بعد سعی کنید تست رو پاس کنید. میتونید یه بخش رو تست نویسی کنید پاس کنید بعد برید سراغ بخش‌های بعدی.

2- در رابطه با سوال دوم شما هم چون مقدار یونیک در نظر گرفتید و احتمالا در سایر تست‌ها هم دیتا درج میشه بنابراین داده تکراری دارید و فیلدی که یونیک هست به ارور میخوره.

موفق باشید ?

کیان سلگی ۰۹ شهریور ۱۴۰۱، ۱۰:۲۵

واسه سوال دوم منظورم این بود که آیا همچین تستی وجود داره؟! مثلا واسه جدول users این تست رو بنویسیم که ایمیل تکراری واردش نشه!

چون فک کنم کلا ما واسه خروجی متدهامون تست مینویسیم

مهدی ۰۹ شهریور ۱۴۰۱، ۱۰:۳۲

وقتی که شما ایمیل رو یونیک در نظر گرفتید خب طبیعتا نمیتونه مقدار تکراری بپذیره و نیازی به تست نداره چون منطق مسئله کاملا مشخصه و در هر صورت مقدار تکراری نخواهد پذیرفت.

برای این که مثلا به ارور نخوره و این ارور به کاربر نشون داده نشه میتونید خطا رو مدیریت کنید و از مباحث مربوط به مدیریت خطا استفاده کنید.

موفق باشید.

بهترین پاسخ
کیان سلگی ۱۰ شهریور ۱۴۰۱، ۰۹:۱۶