@hesammousavi
@nimageneral
@mhyeganeh
من یک تست نوشتم که یک مقداری رو با مقداری که در دیتابیس هست مقایسه کنه اما ارور دارم و فکر کنم به دیتابیس متصل نمیشه(مدل رو هم ساختم)
public function test_t2()
{ $team=new User(['name'=>'ali']);
$this->assertEquals("ali",$team->name);
}
و در phpunit.xml هم اینا رو اضافه کردم
<server name="DB_CONNECTION" value="mysql"/>
<server name="DB_DATABASE" value="laravel"/>
و این ارور رو میده
Warning: Your XML configuration validates against a deprecated schema.
Suggestion: Migrate your XML configuration using "--migrate-configuration"!
1) Tests\Unit\ExampleTest::test_t2
LogicException: App\User::name must return a relationship instance.
/home/netwons/project/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasAttributes.php:443
/home/netwons/project/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasAttributes.php:420
/home/netwons/project/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasAttributes.php:375
/home/netwons/project/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php:1637
/home/netwons/project/tests/Unit/ExampleTest.php:16
این تستت مقداری رو با مقدار دیتابیس مقایسه نمیکنه چون اصلا داده ای در دیتابیس ذخیره نمیکنه که بخواد اونو با مقداری از دیتابیس مقایسه بکنه حتی متد save رو هم برای مدل مربوطه فرا خوانی نکردین. بعد فراخوانی متد save باید رکورد ثبت شده رو بخونی بعد عمل مقایسه رو انجام بدی. چک کن ببین جداولت مایگریت شدن. فعلا برای امتحان مقادیر فایل phpunit.xml رو به حالت قبل برگردون
@hosseinshirinegad98
@nimageneral
@nimageneral
الان من این تست رو در unit مینویسم ولی متدد assertdatabasehas رو نمیشناسه
$this->assertDatabaseHas('users', [
'email' => 'ne@gmail.com'
]);
ارور
Error: Call to undefined method Tests\Unit\ExampleTest::assertDatabaseHas()
@hosseinshirinegad98
@mhyeganeh
@endworld
کدم اینه
$mail="netwons123@yahoo.com";
$user=new User([
'name'=>"ali",
'email'=>$mail
]);
$user->save();
$this->assertEquals($mail,$user->email);
ارور
Error: Call to a member function connection() on null
@SobhanDadkhah
الان ایمیل من رو null میده $user->email
و این ارور رونمایش میده
Failed asserting that null matches expected 'netwons123@yahoo.com'.
@mehdisut خوب باید بررسی کنید ببینید چرا نال میده. یوزری ساخته میشه که دسترسی داشته باشید بهش؟
یا اصلا به دیتابیس درست وصل نیست ؟ اطلاعات دیتابیس صحیحه ؟
پیشنهاد میکنم نحوه ستاپ کردن و راه اندازی تست ها رو با یک ویدیو نگاه کنید احتمال 90 درصد مشکلتون حل میشه .
@SobhanDadkhah
@nimageneral
@mhyeganeh
والا من هر کاری کردم نشد میشه شما یه تستی کنید ممنون میشم
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟