استاد ما تو این جلسه قسمت Delete رو کامل کردیم ولی الان ارور از قسمت Update میاد :
اینم کدی که بهش خطا گرفته :
سلام سینا عزیز
اروری که گرفته شده از این هست که مقدار نال برگشته و باید نتیجه کوئری رو بررسی کنی که آیا در دیتابیس این مورد وجود داره یا خیر.
احتمالا در متد دیلیت این آیدی حذف شده.
متد آپدیت رو قبل از دیلیت بنویسید یا یک متد ایجاد باگ بنویسید و متد آپدیت رو depend به اون کنید یا در متد setup که اول از همه تستها اجرا میشه اون رو فراخونی کنید اما روش اول سادهتر هست.
use PHPUnit\\Framework\\TestCase;
class MyTest extends TestCase
{
public function setUp(): void
{
// This method will be executed before every test method
// Add your setup code here
}
public function testMethodA(): void
{
// Your test for method A
}
/**
* @depends testMethodA
*/
public function testMethodB(): void
{
// Your test for method B, which depends on the successful execution of testMethodA
}
}
احمدرضا فاطمی کیا۰۹ خرداد ۱۴۰۲، ۱۲:۵۵
استاد همین الانش هم متد آپدیت قبل از دیلیت نوشته شده ولی بازم همونه.
من کدهای استاد رو هم تست کردم ولی ارور میده بعضا تست هم پاس میشه ولی دوباره به ارور میخوره
سینا علیزاده۰۹ خرداد ۱۴۰۲، ۱۳:۴۳
آیا مشکل ربطی ترتیب اجرای تستها داره ؟؟
سینا علیزاده۰۹ خرداد ۱۴۰۲، ۱۳:۴۹
کدهای این قسمت رو که دیدم این متوجه شدم
موردی که هست شما میاید ابتدا دیتا ایجاد میکنید مثلا با نام api و بعد آپدیتش میکنید به نام دیگه...
بعد میاید یک دیتای دیگه ایجاد و اونو حذف میکنید.
و اینجا تکلیف اون دیتای قبلی معلوم نیست.
و بخاطر همین در اجراهای بعدی به مشکل میخورید.
در متد tear down یک کوئری برای پاک کردن کل اطلاعات جدول بنویسید یا در متد دیلیت بیاید مثل ایجاد کردن دیتای آپدیت شده رو با دیپند کردن بگیرید و اونو دیلیت کنید.