برای رفع خطا و بررسی تست مربوطه، شما باید به فایل تست مربوطه مراجعه کنید و کد آن را بررسی کنید تا ببینید کدام قسمت از کد دچار مشکل شده است. برای بررسی خطاها، میتوانید از دستورات دیباگینگ PHPUnit استفاده کنید، مانند:
./vendor/bin/phpunit --filter testMethodName
که در آن testMethodName نام متد کلاس تست مورد نظر شما میباشد. که در اینجا متد سوم تست شما طبق علامتهای مربوطه به مشکل خورده.با اجرای این دستور، شما میتوانید خطای دقیقتری را ببینید که شامل نام تست، خط خطا و پیغام خطا میباشد. پس از شناسایی مشکل، باید آن را برطرف کنید و تست را مجدداً اجرا کنید تا مطمئن شوید که هیچ خطایی وجود ندارد.
احمدرضا فاطمی کیا۲۵ فروردین ۱۴۰۲، ۰۸:۰۰
استاد هنوز هم اون ارور رو دارم.
کل طابع تو از اول نوشتم اما هنوز مشکل داره.
امکانش هست کد رو بهتون بدم ایرادش رو بهم بگید؟
سینا علیزاده۲۵ فروردین ۱۴۰۲، ۱۱:۵۴
کد تست و مواردی که در تست استفاده شده اسکرین بدید.
احمدرضا فاطمی کیا۲۵ فروردین ۱۴۰۲، ۱۳:۱۷
استاد دیگه چی رو بفرستم؟
سینا علیزاده۲۶ فروردین ۱۴۰۲، ۰۲:۲۶
سینا عزیز
برای موفق شدن تست شما باید در متد getconfig یک نوع از exeption لاین قبل رو throw کنید تا expect شده بشه.
چون ما داریم میگیم بررسی کنه این خطا پرتاب میشه یا نه.
در متد get configs:
thrownew DatabaseConnectionException('error');
احمدرضا فاطمی کیا۲۶ فروردین ۱۴۰۲، ۱۹:۳۸
استاد بازم رفع نشد?
سینا علیزاده۲۶ فروردین ۱۴۰۲، ۲۳:۰۹
بررسی شد اوکی بود
فایل تست پیوست شد.
لاین هایی که کامنت شده هم میتونید بجای throw کردن قبل متغیر config بررسی کنید اما برای هندل شدن ارور موارد کامنتی باید هندل رو انجام بدید.
احمدرضا فاطمی کیا۲۷ فروردین ۱۴۰۲، ۱۷:۱۵
مرسی استاد بابت عیب یابی.
ولی میشه یکم بیشتر توضیح بدید چون نتونستم درست متوجه بشم
سینا علیزاده۲۷ فروردین ۱۴۰۲، ۱۷:۲۰
زمانی که ما از متد expect exeption استفاده میکنیم میگیم که اکر در دستور بعدی این اکسپشن اتفاق افتاد اوکی بده.
در کد بالا ما داریم میگیم که اگر ریکوئست بدون دیتا برای ایجاد کاربر ارسال شد طبق وب سرویس استاتوس صفر برگردونده بشه و ما هم در متد sendRequest یک درخواست بدون دیتا ارسال کردیم به api؛اگر صفر برگشت اکسپشن ترو بشه و طبق این تست اوکی میشه.