یلدا ادامه داره... ❤️ ۴۰ درصد تخفیف همه دورهها
استفاده از تخفیفهادوستان عزیز سلام وقتتون بخیر
ببخشید میتونید برام توضیح بدید که یک سایت مثلا فروشگاهی رو از کجا شروع کنیم به طراحی کردنش ؟ من همیشه رو این مسئله مشکل دارم مثلا از صفحه اصلی شروع کنم از پنل مدیریت شروع کنم یا ...
همچنین دارم تست نویسی کار میکنم یه توضیحم بدید چه مواردی نیاز به تست داره و آیا اول تستهای یک قسمت رو بنویسم بعد خودشو؟
درود
حتما از توسعه آزمون محور (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 نمایش بدید
مراحل بالا نمونه خیلی سادهای از اجرای یه تست بود. اما در این روش توسعه شما در هر مرحله با تست پیش میرید و در نهایت همه موارد رو برطرف میکنید و تست شما قبول میشه.. در اون مرحله شما بدون نیاز به دیدن برنامه در مرورگر، میدونید که برنامهتون داره به همون شکلی که ازش انتظار میره، کار میکنه .
موفق باشید
خیلی ممنون از توضیحاتتون
میتونید یه منبع فارسی یا انگلیسی بهم معرفی کنید که assertion ها رو توضیح داده باشه؟ خیلی هاشونو نمیشناسم یا نمیدونم کارشو
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟