چقدر درباره اهمیت Todo در تست می دانید؟
در PHPunit، معمولا وقتی todo را در برخی از کدها می نویسم، به این دلیل است که چیز مهمی در مورد کدی که به آن نزدیک هستیم میفهمیم، اما زمانی برای اصلاح یا تغییر آن نداریم. این واقعیت که شما عمیقاً در درک کد در آن زمان هستید بسیار ارزشمند است. احتمالاً در زمانی که کار را می نویسید، بیشترین اطلاعات را در مورد آن کد دارید.
برای مثال شما کد نوشته اید و از نکات آن اطلاع دارید. شاید مجبور شده باشید بدون تست نوشتن ادامه دهید. چگونه می خواهید همه سناریوها را یک هفته، یک ماه بعد به خاطر بسپارید؟ آیا هرگز به آن برمی گردی؟ من فکر می کنم زمانی که ما در حال نوشتن کد هستیم، بیشتر از موارد استفاده می دانیم. بنابراین، این زمان مناسب برای نوشتن تست ها است.
یا حداقل پوستههای تستها را با todos بنویسید. به این ترتیب، میدانید وقتی دوباره روی آن کار میکنید، چه چیزی را باید تست کنید. مهمتر این است که بدانید با نگاه کردن به todo ها چه چیزی تست نمیشود. در صورت مشاهده 20 تست واحد، ممکن است فرض کنید کل فرآیند در حال تست است. اما، هنگامی که برخی از تستهای todo را میبینید، مناطق خاصی را میشناسید که تست نشدهاند و مناطقی را میشناسید که نمیتوانید به طور کامل به آنها وابسته باشید.
با PHPUnit می توانیم تست ها را به عنوان ناقص علامت گذاری کنیم. این بدان معنی است که مجموعه تست واحد همچنان اجرا می شود، اما ما شروع به مشاهده نشانه هایی از تست هایی خواهیم کرد که ناقص هستند. اگر تستهای todo ما به رشد خود ادامه دهند، آنها را در هر تست مشاهده خواهیم کرد.
در خروجی خود، می دانید که پوشش شما به روشی اشتباه پیش می رود. این به شما کمک می کند تا بفهمید که باید تست های بیشتری بنویسید.
در نهایت، بسته به تیم خود، ممکن است افراد خاصی داشته باشید که به انواع خاصی از todo نیاز دارند، یا ممکن است بخواهید شخص جدیدی را وارد کنید. با نوشتن تستهای todo، میتوانید به کسی وظایف واضحی بدهید: تستها را پر کنید.
اجرای تست های Todo
برای اینکه فرآیند علامتگذاری یک تست آسانتر شود، یک متد را در کلاس تست پایه خود قرار دادم. (شما همچنین می توانید این را به عنوان یک trait بنویسید و آن را در کلاس های تست قرار دهید که دارای todo هستند، اما داشتن آن در کلاس تست پایه ساده تر است).
Anophel آنوفل
#لاراول #آنوفل #laravel #تست_نویسی #تست #php #phpunit
در PHPunit، معمولا وقتی todo را در برخی از کدها می نویسم، به این دلیل است که چیز مهمی در مورد کدی که به آن نزدیک هستیم میفهمیم، اما زمانی برای اصلاح یا تغییر آن نداریم. این واقعیت که شما عمیقاً در درک کد در آن زمان هستید بسیار ارزشمند است. احتمالاً در زمانی که کار را می نویسید، بیشترین اطلاعات را در مورد آن کد دارید.
برای مثال شما کد نوشته اید و از نکات آن اطلاع دارید. شاید مجبور شده باشید بدون تست نوشتن ادامه دهید. چگونه می خواهید همه سناریوها را یک هفته، یک ماه بعد به خاطر بسپارید؟ آیا هرگز به آن برمی گردی؟ من فکر می کنم زمانی که ما در حال نوشتن کد هستیم، بیشتر از موارد استفاده می دانیم. بنابراین، این زمان مناسب برای نوشتن تست ها است.
یا حداقل پوستههای تستها را با todos بنویسید. به این ترتیب، میدانید وقتی دوباره روی آن کار میکنید، چه چیزی را باید تست کنید. مهمتر این است که بدانید با نگاه کردن به todo ها چه چیزی تست نمیشود. در صورت مشاهده 20 تست واحد، ممکن است فرض کنید کل فرآیند در حال تست است. اما، هنگامی که برخی از تستهای todo را میبینید، مناطق خاصی را میشناسید که تست نشدهاند و مناطقی را میشناسید که نمیتوانید به طور کامل به آنها وابسته باشید.
با PHPUnit می توانیم تست ها را به عنوان ناقص علامت گذاری کنیم. این بدان معنی است که مجموعه تست واحد همچنان اجرا می شود، اما ما شروع به مشاهده نشانه هایی از تست هایی خواهیم کرد که ناقص هستند. اگر تستهای todo ما به رشد خود ادامه دهند، آنها را در هر تست مشاهده خواهیم کرد.
در خروجی خود، می دانید که پوشش شما به روشی اشتباه پیش می رود. این به شما کمک می کند تا بفهمید که باید تست های بیشتری بنویسید.
در نهایت، بسته به تیم خود، ممکن است افراد خاصی داشته باشید که به انواع خاصی از todo نیاز دارند، یا ممکن است بخواهید شخص جدیدی را وارد کنید. با نوشتن تستهای todo، میتوانید به کسی وظایف واضحی بدهید: تستها را پر کنید.
اجرای تست های Todo
برای اینکه فرآیند علامتگذاری یک تست آسانتر شود، یک متد را در کلاس تست پایه خود قرار دادم. (شما همچنین می توانید این را به عنوان یک trait بنویسید و آن را در کلاس های تست قرار دهید که دارای todo هستند، اما داشتن آن در کلاس تست پایه ساده تر است).
Anophel آنوفل
#لاراول #آنوفل #laravel #تست_نویسی #تست #php #phpunit
Anophel | آنوفل
آنوفل (Anophel): دنیای برنامه نویسان
آنوفل، دنیایی از امکانات برای برنامه نویسان! دورههای آموزشی متنوع، مسابقات برنامه نویسی، پادکستهای برنامهنویسی، سیستم تسکبندی و APIهای مختلف
فریمورک تست Pest در مقابل PHPUnit
Pest یک چارچوب تست عالی است که بر روی PHPUnit ساخته شده است. سینتکس زیبا دارد که تست های شما را تا حد امکان ساده می کند.
شروع کار با Pest بسیار آسان است و در صورت عادت به PHPUnit خواهیم دید که چگونه با آن تست های خواناتری بنویسیم.
در اینجا برخی از تفاوت های اصلی بین PHPUnit و Pest آورده شده است:
سینتکس:
PHPUnit: PHPUnit یک چارچوب تست بالغ و پرکاربرد برای PHP است. از یک سینتکس سنتی و پرمخاطب برای نوشتن تست ها پیروی می کند. متد های تست معمولاً با پیشوند «test» قرار میگیرند و از متد های ادعایی مانند assertEquals، assertTrue و assertFalse استفاده میکنند.
Pest: Pest یک چارچوب تست نسبتاً جدید است که هدف آن ارائه یک سینتکس ظریف تر و مختصرتر برای نوشتن تست ها است. از یک سینتکس گویاتر و طبیعی تر برای ادعاهای تست استفاده می کند و باعث می شود تست ها مانند انگلیسی ساده خوانده شوند. Pest طوری طراحی شده است که برنامه نویس پسندتر و خوانا باشد.
جامعه و پذیرش:
PHPUnit: PHPUnit برای مدت طولانی وجود داشته است و پایگاه کاربری بزرگ و مستقری دارد. این به طور گسترده در جامعه PHP پذیرفته شده است و دارای داکیومنت و پشتیبانی گسترده است.
Pest: Pest یک فریمورک جدیدتر است و به دلیل سینتکس مناسب برای توسعهدهندگان مورد توجه قرار گرفته است. در حالی که جامعه آن در حال رشد است، ممکن است سطح داکیومنت و منابع مشابه PHPUnit را نداشته باشد.
به طور خلاصه، PHPUnit یک چارچوب تست قوی تر و غنی تر است، در حالی که Pest قصد دارد یک سینتکس ساده تر و گویاتر برای نوشتن تست ها ارائه دهد. انتخاب بین PHPUnit و Pest بستگی به نیازهای پروژه شما، ترجیحات تیم شما، و اینکه آیا شما پرحرفی و ویژگی (PHPUnit) یا مختصر بودن و خوانایی (Pest) را در کد تست خود اولویت دارید، دارد.
البته این نکته رو هم بگم از لاراول 11 به بعد Pest به صورت پیش فرض چارچوپ تست است.
#لاراول #pestphp #phpunit
Anophel آنوفل
Pest یک چارچوب تست عالی است که بر روی PHPUnit ساخته شده است. سینتکس زیبا دارد که تست های شما را تا حد امکان ساده می کند.
شروع کار با Pest بسیار آسان است و در صورت عادت به PHPUnit خواهیم دید که چگونه با آن تست های خواناتری بنویسیم.
در اینجا برخی از تفاوت های اصلی بین PHPUnit و Pest آورده شده است:
سینتکس:
PHPUnit: PHPUnit یک چارچوب تست بالغ و پرکاربرد برای PHP است. از یک سینتکس سنتی و پرمخاطب برای نوشتن تست ها پیروی می کند. متد های تست معمولاً با پیشوند «test» قرار میگیرند و از متد های ادعایی مانند assertEquals، assertTrue و assertFalse استفاده میکنند.
Pest: Pest یک چارچوب تست نسبتاً جدید است که هدف آن ارائه یک سینتکس ظریف تر و مختصرتر برای نوشتن تست ها است. از یک سینتکس گویاتر و طبیعی تر برای ادعاهای تست استفاده می کند و باعث می شود تست ها مانند انگلیسی ساده خوانده شوند. Pest طوری طراحی شده است که برنامه نویس پسندتر و خوانا باشد.
جامعه و پذیرش:
PHPUnit: PHPUnit برای مدت طولانی وجود داشته است و پایگاه کاربری بزرگ و مستقری دارد. این به طور گسترده در جامعه PHP پذیرفته شده است و دارای داکیومنت و پشتیبانی گسترده است.
Pest: Pest یک فریمورک جدیدتر است و به دلیل سینتکس مناسب برای توسعهدهندگان مورد توجه قرار گرفته است. در حالی که جامعه آن در حال رشد است، ممکن است سطح داکیومنت و منابع مشابه PHPUnit را نداشته باشد.
به طور خلاصه، PHPUnit یک چارچوب تست قوی تر و غنی تر است، در حالی که Pest قصد دارد یک سینتکس ساده تر و گویاتر برای نوشتن تست ها ارائه دهد. انتخاب بین PHPUnit و Pest بستگی به نیازهای پروژه شما، ترجیحات تیم شما، و اینکه آیا شما پرحرفی و ویژگی (PHPUnit) یا مختصر بودن و خوانایی (Pest) را در کد تست خود اولویت دارید، دارد.
البته این نکته رو هم بگم از لاراول 11 به بعد Pest به صورت پیش فرض چارچوپ تست است.
#لاراول #pestphp #phpunit
Anophel آنوفل
Anophel | آنوفل
آنوفل (Anophel): دنیای برنامه نویسان
آنوفل، دنیایی از امکانات برای برنامه نویسان! دورههای آموزشی متنوع، مسابقات برنامه نویسی، پادکستهای برنامهنویسی، سیستم تسکبندی و APIهای مختلف