آموزش قدم به قدم فریم ورک لاراول- قسمت آخر

 بازدید: 197
 تاریخ انتشار: ۱۴ خرداد، ۱۳۹۷، ۶:۰۰ ب.ظ
آموزش قدم به قدم فریم ورک لاراول- قسمت آخر
در آخرین بخش از آموزش فریم ورک لاراول و ساخت یک اپلیکیشن وب با تست ارزیابی URL و ارزیابی بیشینه طول ورودی آشنا می شویم.

تست ارزیابی URL در فریم ورک لاراول

انتظار داریم فقط URL های معتبر ارزیابی را با موفقیت رد کنند تا اپلیکیشن داده‌های نامعتبر را نشان ندهد.
لاراول 5.5 روش withoutExceptionHandling() را معرفی کرده است که روت لاراول را غیرفعال می کند بجز برای کدهای استفاده شده برای ایجاد یک پاسخ HTTP بعد از یک انتظار. ما از این روش برای ارزیابی در مقابل پیغام های خطا استفاده می‌کنیم. از طریق موارد مختلف لوپ می کنیم و مثال‌های ValidationException را بدست می آوریم (catch). قابلیت catch استفاده شی ارزیابی کننده را برای چک کردن خطای url مسدود می‌کند و اثبات می‌کند که پیغام خطای واقعی با پیغام خطای ارزیابی مورد انتظار مطابقت دارد.

تست ارزیابی بیشینه طول

وقتی فیلدی مثلا 256 کرکتر دارد طبق قانون ارزیابی max:255 باید نامعتبر شناخته شود. لاراول حاوی توابع قانون ارزیابی بیشینه است ولی بهتر است چک کنید آیا اپلیکیشن شما این قوانین را بکار می گیرد یا خیر.
بهتر است حد آستانه بیشینه و کمینه را در نظر بگیرید تا کاملا مطمئن شوید اپلیکیشن این حدود را رعایت می‌کند.
پس اول بیشینه طول را تست می کنیم:
/** @test */
function max_length_fails_when_too_long()
{
    $this->withoutExceptionHandling();

    $title = str_repeat('a', 256);
    $description = str_repeat('a', 256);
    $url = 'http://';
    $url .= str_repeat('a', 256 - strlen($url));

    try {
        $this->post('/submit', compact('title', 'url', 'description'));
    } catch(ValidationException $e) {
        $this->assertEquals(
            'The title may not be greater than 255 characters.',
            $e->validator->errors()->first('title')
        );

        $this->assertEquals(
            'The url may not be greater than 255 characters.',
            $e->validator->errors()->first('url')
        );

        $this->assertEquals(
            'The description may not be greater than 255 characters.',
            $e->validator->errors()->first('description')
        );

        return;
    }

    $this->fail('Max length should trigger a ValidationException');
}
دوباره استثنا ایجاد کرده و داده‌هایی را می سازیم که به اندازه یک کرکتر بیشتر از حد ارزیابی باشند.
در نهایت به گرفتن استثنا بر می گردیم . از $this->fail() برای امنیت تست استفاده می کنیم.
سپس سناریوی زیر حد بیشینه را امتحان می‌کنیم:
/** @test */
function max_length_succeeds_when_under_max()
{
    $url = 'http://';
    $url .= str_repeat('a', 255 - strlen($url));

    $data = [
        'title' => str_repeat('a', 255),
        'url' => $url,
        'description' => str_repeat('a', 255),
    ];

    $this->post('/submit', $data);

    $this->assertDatabaseHas('links', $data);
}

فرمی با طول معتبر می سازیم و ارزیابی می‌کنیم که داده‌ها به دیتابیس ارسال می شوند یا خیر:

 
جمع بندی نهایی
تبریک! شما اولین اپلیکیشن وب خود را ساختید. این راهنما برای این بود که شما با آموزش فریم ورک لاراول آشنا شوید و مهارت‌هایی بدست بیاورید که با استفاده از آنها با لاراول اپلیکیشن وب طراحی کنید.