جستجو برای:
  • خانه
  • دوره و کتاب
  • مقالات
    • خانواده جاوا اسکریپت
      • مقالات جاوا اسکریپت
      • مقالات ری اکت و نکست
      • هوش مصنوعی
    • خانواده فرانت
      • مقالات سی اس اس
      • مقالات اچ تی ام ال
    • محیط کار
      • سوالات استخدامی جاوا اسکریپت
      • سوالات استخدامی ری اکت
      • اصطلاحات محیط کار فرانت اند
    • مجله پرنیان
      • تصاویر دوره ها
      • نظرات دانشجویان قدیم
  • سوالات متداول
  • تماس با ما
  • خانواده پرنیان
    • چت خانه
    • دستیار هوش مصنوعی(رایگان!)
    • تایید مدارک
    • پیام یا انتقاد (ناشناس)
    • تعیین سطح زبان انگلیسی
    • پخش لایو رادیوسام
 
  • 09921632445
  • radioarsam[at]gmail.com
  • فروشگاه محصولات
  • بلاگ
  • تماس با ما
  • درباره پارسا قربانیان، موسس مدرسه پرنیان
پارسا قربانیان |گروه آموزشی پرنیان | آموزش حرفه ای طراحی سایت
  • خانه
  • دوره و کتاب
  • مقالات
    • خانواده جاوا اسکریپت
      • مقالات جاوا اسکریپت
      • مقالات ری اکت و نکست
      • هوش مصنوعی
    • خانواده فرانت
      • مقالات سی اس اس
      • مقالات اچ تی ام ال
    • محیط کار
      • سوالات استخدامی جاوا اسکریپت
      • سوالات استخدامی ری اکت
      • اصطلاحات محیط کار فرانت اند
    • مجله پرنیان
      • تصاویر دوره ها
      • نظرات دانشجویان قدیم
  • سوالات متداول
  • تماس با ما
  • خانواده پرنیان
    • چت خانه
    • دستیار هوش مصنوعی(رایگان!)
    • تایید مدارک
    • پیام یا انتقاد (ناشناس)
    • تعیین سطح زبان انگلیسی
    • پخش لایو رادیوسام
0

ورود و ثبت نام

بلاگ پرنیان

پارسا قربانیان |گروه آموزشی پرنیان | آموزش حرفه ای طراحی سایتبلاگمقالاتمقالات reactتست نویسی در جاوا اسکریپت

تست نویسی در جاوا اسکریپت

7 ژانویه 2023
ارسال شده توسط مدیریت
مقالات ، مقالات react ، مقالات جاوا اسکریپت
454 بازدید
تست نویسی در جاوااسکریپت


در این مقاله قصد داریم در رابطه با تست نویسی در جاوااسکریپت مطالبی را ارایه دهیم که امیدواریم مفید به فایده واقع شود. این مقاله به همت مهندس محسن صالحی (از دانشجویان قدیم پرنیان) نگارش شده است.


چرا تست نویسی ؟

تست نویسی در جاوا اسکریپت فرآیندی برای نوشتن کدهایی است که صحت عملکرد کد اصلی را بررسی می کند. این کار به شما کمک می کند تا مطمئن شوید که کد شما به درستی کار می کند و اشکالات احتمالی را قبل از اینکه به کاربران نهایی ارائه شود، پیدا کنید.


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

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

انواع تست نویسی


ما انواع تست نویسی داریم ولی من میخوام براتون از تست نویسی TDDبگم ، TDD مخفف جمله Test Driven Development که میتوان گفت مراحل انجام تست را بیان می کند .

به اصلاح به آن میگوییم red green testing یعنی ابتدا تمامی تست های ما رد می شوند و بعد از نوشتن کد  رند شدن کد ها سبز یا تایید می شوند.
.
تست نویسی TDD یکی از پر استفاده ترین و رایج ترین ساختار های تست نویسی به حساب می آید.

تست نویسی



-ابزار های تست نویسی

برای تست نویسی در زبان های مختلف ابزار های مختلفی وجود دارد در جاوااسکریپت یکی از محبوب ترین این ابزار ها jest می باشد که بسیار پر استفاده می باشد . در جاوا اسکریپت به دلیل اینکه نیازی به رندر کد ها نیست به ابزاری مانند enzyme و غیره نیاز نداریم ، برای همین کافیه ما فقط jest را نصب کرده و کد های خود را تست کنیم.

راهنمای ابتدایی برای تست نویسی در جاوا اسکریپت :

:Create json file

-ابزار های تست نویسی

:Install jest plugin

تست نویسی

توجه داشته باشید روی حالت دولوپمنت باید باشه برای اینکه داریم توسعه میدهیم !

:Create folder __test__

تست نویسی

دقیقا به همین شکل اسم گذاری میکنیم . یکی از قوانین تست نویسی که باب شده این مورد می باشد.

Edit package.json

Npm test

تست نویسی

برای استفاده از ابزار جست شما باید آن را تعریف کنید.

:Create test file

تست نویسی

تست نویسی قرمز ، سبز به اصلاح شروع میکنیم در صورتی که هنوز فایی نداریم که بخواهیم تست کنیم .


:Create file js

تست نویسی

به نوع اینپورت و اکسپورت فایل ها توجه کنید . که از ساختار اکما ۶ استفاده کرده ام .

Finally run testing and view list test in node

تست نویسی

به همین سادگی شما برای استفاده از ابزار های جست میتوانید به سایت خودش مراجعه کنید که کامل ترین داکیومنت رو داره، و من برای اینکه بهتر دیده شه از ترمینال استفادل کردم .  

https://jestjs.io

این فقط یک مثال بسیار ساده و مبتدی است که سه تست نوشته شده که آرگمان های ورودی رو باهم مقایسه میکند ، که هر سه آنها پاس یا تایید شده اند .

باز هم تاکید میکنم این یک نمونه ساده است و راهنمای راه اندازی می باشد.



-تست نویسی در ری اکت React.js

ری اکت یکی از کتابخانه های جذاب و دوست داشتنی جاوااسکریپت می باشد که بسیار کار آمد و عالی می باشد، حالا برای اینکه بتوانیم کد هامون رو تست کنیم در ریکت میتوان از ابزار jest استفاده کنیم ، تمامی دستورات و توابع  jest  در جاوااسکریپت در ریکت هم کاربرد دارد و به همان شکل می باشد اما یک تفاوت اصلی وبنیادی وجود دارد و آن این است که به دلیل ایکه ری اکت دارای دام مجازی میباشد نیازمند این است که هربار تست کدی را می نویسیم یکبار کامپوننت ما رندر شود ، و این امر ما را نیازمند ابزار هایی میکند مانند enzyme, react test library .
برای رند کردن و تست نویسی در ریکت من به شما این دو ابزار را پیشنهاد میکنم اولی jest و دومی react test library  است که به صورت اولیه در ری اکت شما نصب هست .
که بسیار ساده و سریع و سازگار می باشد.

https://testing-library.com/docs/react-testing-library/intro



– انواع تست ها در برنامه

خلاصه بگم در تست نویسی اصول و ساختار هایی وجود دارد که هر کسی به دلخواه از آنها استفاده میکند اما چند سالی است که برنامه نویسان به یک ساختار کلی و منظم رسیده اند که عبارت است از :‌
یونیت تستینگ (Unit Testing) : از نام آن معلوم است که چه چیزی را تست میکند ، تست کردن واحد به واحد ، تست هایی کوتاه و سریع که باید اکثریت کد ما به این سبک نوشته شود ، این نوع تست از زیر مجموعه White-box Testing است.

فانکشنال تستینگ (Functional Testing): این نوع تست یک عملیات کلی را در برنامه ما تست میکند که برخلاف یونیت تست سرعت بالایی ندارد ولی دقیق تر و کامل تر است که به ما این اطمینان را به ما میدهد که کد ما کمترین باگ ممکن را دارد .

اینتگریشن تستینگ (Integration Testing):‌ برای تست کردن سرویس های خارجی ازین این نوع تست استفاده میشود برخلاف یونیت تست که واحد هایی را تست میکند که وابستگی خارجی را ندارند . و یکی دیگر از کاربرد های آن این است که کامپوننت های مختلف ما را تست میکند نه تمایه کامپوننت ها مانند فانکشنال تستینگ ، که هر دوی آنها زیر مجموعه  black box testing  می باشند .
جعبه سیاه تست یا همان black box testing خیلی اجزای زیادی دارند که در بالا مهم ترین آنها را آورده ام ،‌البته تست نویسی بسیار گسترده می باشد و نست به ساختار برنامه ای که داریم تست نویسی های متناسبی با آنها داریم، تست نویسی یک الزام نیست اما اگر قوانین آن رعایت شود کد و برنامه قانونمند تری خواهیم داشت.


-خلاصه و نتیجه گیری

این مقاله یک دیدگاه از تست نویسی میباشد نه یک آموزش ،‌بلکه یک راهنمایی دوستانه است که امیدوارم برای شما مفید بوده باشه ، من در تلاش هستم که آموزشی را برای تست نویسی تهیه کنم که این کار نیازمند همیاری شماراهنمای ابتدایی برای تست نویسی در جاوا اسکریپت :

https://testing-library.com/docs/react-testing-library/intro

امیدواریم از این مقاله نهایت استفاده را برده باشید و آن را با دوستانتان به اشتراک بگذارید. تیم تولید محتوای مدرسه اینترنتی پرنیان این مقاله را تهیه کرده است.

اشتراک گذاری:
درباره مدیریت

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

نوشته های بیشتر از مدیریت
در تلگرام
کانال ما را دنبال کنید!
در اینستاگرام
ما را دنبال کنید!
در یوتوب
ما را دنبال کنید!
Created by potrace 1.14, written by Peter Selinger 2001-2017
در آپارات
ما را دنبال کنید!

مطالب زیر را حتما مطالعه کنید

Vibe Coding چیست؟ آیا آینده برنامه‌نویسی تغییر کرده است؟
Vibe Coding چیست؟ آیا آینده برنامه‌نویسی تغییر کرده است؟
MCP چیست
MCP چیست و چرا آینده برنامه‌نویسی با هوش مصنوعی را تغییر می‌دهد؟
تفاوت HTMLCollection و NodeList در جاوا اسکریپت
تفاوت HTMLCollection و NodeList در جاوا اسکریپت
State Normalization در فرانت‌اند چیست؟
State Normalization در فرانت‌اند چیست؟
حفظ روحیه برنامه نویسان در شرایط جنگی
حفظ روحیه برنامه نویسان در شرایط جنگی
خبر فوری
اطلاعیه مهم درباره شروع کلاس ها
قدیمی تر مراسم پایان دوره دهم کلاس
جدیدتر شخص T شکل کیست؟ دریایی به قطر یک بند انگشت نباشیم!

دیدگاهتان را بنویسید لغو پاسخ

جستجو برای:
نوشته‌های تازه
  • Vibe Coding چیست؟ آیا آینده برنامه‌نویسی تغییر کرده است؟
  • MCP چیست و چرا آینده برنامه‌نویسی با هوش مصنوعی را تغییر می‌دهد؟
  • تفاوت HTMLCollection و NodeList در جاوا اسکریپت
  • State Normalization در فرانت‌اند چیست؟
  • حفظ روحیه برنامه نویسان در شرایط جنگی
دسته‌ها
دوره ها:

کلاس های درحال ثبت نام فرانت اند: 

  • دوره فرانت اند صبح از اوایل آبان
  • دوره جاوا اسکریپت و ری اکت از 31مرداد

دوره فرانت اند پرنیان

 

مدرسه فرانت اند پرنیان

گروه آموزشی پرنیان از سال 92 تاسیس شده و تاکنون ده ها دوره طراحی وب ، CMS ، سئو و بوت کمپ فرانت اند به صورت حضوری و غیر حضوری برگزار کرده است. ما در پرنیان جدیدترین و کاربردی ترین مباحث طراحی و توسعه وب ، سئو و دیجیتال مارکتینگ رو آموزش داده و راه ورود شما عزیزان به بازار کار را هموار کرده ایم.

فهرست سفارشی
  • بلاگ
  • تماس با ما
  • حساب کاربری من
  • درباره پارسا قربانیان، موسس مدرسه پرنیان
  • سبد خرید
  • فروشگاه

لوگوی مدرسه پرنیان

تمام حقوق برای مدرسه فرانت اند پرنیان محفوظ است. سیاست حفظ حریم شخصی

ورود

رمز عبور را فراموش کرده اید؟

هنوز عضو نشده اید؟ عضویت در سایت