طراحی سایت همراه با تست نویسی

- 3 هفته پیش
توسط parsa آپدیت شد
parsa ( 7350 تجربه )
3 هفته پیش

دوستان عزیز سلام وقتتون بخیر
ببخشید میتونید برام توضیح بدید که یک سایت مثلا فروشگاهی رو از کجا شروع کنیم به طراحی کردنش ؟ من همیشه رو این مسئله مشکل دارم مثلا از صفحه اصلی شروع کنم از پنل مدیریت شروع کنم یا ...
همچنین دارم تست نویسی کار میکنم یه توضیحم بدید چه مواردی نیاز به تست داره و آیا اول تستهای یک قسمت رو بنویسم بعد خودشو؟

بهترین پاسخ انتخاب شده توسط parsa
علی بیات
3 هفته پیش
علی بیات ( 193487 تجربه )
3 هفته پیش
تخصص : توسعه دهنده ارشد وب

درود
حتما از توسعه آزمون محور (TDD) استفاده کنید ، این روش بسیار خوبیه
برای تست نویسی اولین کاری که باید بکنید اینه که تست رو بنویسید (مثلا اگر کاربر به آدرس مقالات رفت باید بتونه عنوان آخرین مقاله رو در اون صفحه ببینه) بعد و اجراش کنید (در صورتی که می‌دونیم در این مرحله به خطا می‌خوریم)
مثلا یه تست ساده شبیه زیر:

class ArticlesTest extends TestCase
{

    public function users_can_browse_articles()
    {
        $article = factory('App\Article')->create();

        $response = $this->get('/articles');

        $response->assertSee($article->title);

        $response->assertStatus(200);

    }

}

با اجرای این تست PHP unit به شما میگه که باید برای قدم بعد چه کار کنید اما مراحلش هم ساده است.

  • اولین چیزی که لازم دارید یه Route از نوع Get هست که درخواست نشان دادن مقالات رو یا در خودش اجرا کنه و یا به یک کنترلر پاس بده

    Route::get('/articles', 'ArticlesController@index');
  • سپس ساخت کنترلر، مدل و فایل مایگریشن

    php artisan make:controller ArticlesController
    php artisan make:model Article
    php artisan make:migration create_articles_table
  • فایل مایگریشن رو ادیت کنید و گزینه title رو هم اضافه کنید و سپس:

    php artisan migrate
  • حالا متد index رو در کنترلر بوجود میارید و داخلش از مدل استفاده میکنید تا همه مقالات رو لیست کنید و در یه View نمایش بدید

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

parsa ( 7350 تجربه )
3 هفته پیش

خیلی ممنون از توضیحاتتون

میتونید یه منبع فارسی یا انگلیسی بهم معرفی کنید که assertion ها رو توضیح داده باشه؟ خیلی هاشونو نمیشناسم یا نمیدونم کارشو

علی بیات ( 193487 تجربه )
3 هفته پیش
تخصص : توسعه دهنده ارشد وب
برای ارسال پاسخ باید وارد سایت شوید