چارچوب تست منبع باز از اکوسیستم جاوا اسکریپت

تست های واحد در جاوا اسکریپت با Jest


مقاله پایه تست نرم افزار. مفاهیم پایه و آزمون های واحد به عنوان یک کل چارچوب Jest.


انجام پروژه در فریلنس پروژه

Jest یک چارچوب تست منبع باز از اکوسیستم جاوا اسکریپت است. Jest در حال حاضر محبوب‌ترین فریمورک تست امروزی است که توسط شرکت‌های بزرگی مانند فیس‌بوک، Airbnb، توییتر و اسپاتیفای استفاده می‌شود، همچنین دارای پلاگین‌های متعددی است که به راحتی با تمام فریم‌ورک‌های مدرن چه در قسمت جلویی و چه در سمت باطن (React، Angular، Vue) یکپارچه می‌شوند. ، گره).


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

تست های واحد


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


تست های واحد شامل موارد زیر است:


    کارکرد.

    کلاس ها.

    مواد و روش ها.

    در میان قطعات کوچک دیگر.

سفارش طراحی سایت با بهترین طراحان

مفاهیم کلیدی برای آزمایش با Jest


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


    توضیح دهید: تابعی که به ما کمک می کند بلوک هایی ایجاد کنیم که چندین تست مرتبط را گروه بندی می کنند.

    تست: تابعی که در آن کاسوئیستری آزمایش خواهد شد. با توجه به اینکه تابع تست حاوی نام مستعار به نام آن است که از همان عملکرد استفاده می کند.

    Expect: تابعی که امکان اعتبارسنجی مسابقات را در طول آزمایش فراهم می کند. این منطبق‌ها همان مواردی هستند که Jest با برگرداندن نتایج بر اساس معیارها تأیید می‌کند. تابع انتظار زمانی استفاده می شود که یک مقدار نیاز به اعتبارسنجی داشته باشد. انتظار داشته باشید که در ارتباط با عملکردهای دیگر برای رسیدگی به موارد متعدد کار کند.


در زیر ترتیب سلسله مراتب استفاده آمده است:


describe('set of math test', () => {

test('it is pair', () => {
expect(6 % 2).toEqual(0);
});
test('it is not pair', () => {
expect(7 % 2).not.toEqual(0);
});
});


نکته: در فایل‌های تست، Jest هر یک از این روش‌ها و اشیاء را در محیط جهانی قرار می‌دهد، برای استفاده از آنها نیازی به نیاز یا وارد کردن نیست.

پیکربندی محیط ما

انجام پروژه متلب با بهترین برنامه نویسان

قبل از شروع، لازم است Nodejs را در محیط کاری خود نصب کنیم. پس از نصب، دستورات زیر را اجرا کنید:


> mkdir unit-test-with-jest
> cd unit-test-with-jest/
> npm init -y
> npm i jest --save-dev

یک اسکریپت NPM نیز برای اجرای تست های واحد و یک اسکریپت برای تولید گزارش پوشش پیکربندی خواهد شد. package.json را باز کنید و اسکریپت زیر را پیکربندی کنید:


{
"name": "unit-test-with-jest",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "jest",
"coverage": "jest --collect-coverage"
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {
"jest": "^29.0.3"
}
}

فایل math.js


اولین گام این است که یک فایل جاوا اسکریپت به نام math.jst ایجاد کنید که شامل عملیات اساسی حساب مانند جمع، تفریق، ضرب و تقسیم باشد. هر یک از این ویژگی ها در عملکرد متفاوتی قرار می گیرند و برای آزمایش بیشتر صادر می شوند.


function sum(a, b) {
return a + b;
}
function sub(a, b) {
return a - b;
}
function mul(a, b) {
return a * b;
}
function div(a, b) {
return a / b;
}
module.exports = {
sum,
sub,
mul,
div
}


فایل math.test.js


مرحله بعدی ایجاد یک فایل جاوا اسکریپت به نام math.test.jst است که شامل تست های واحد هر عملیات وارد شده از math.jsfile است. با تاکید بر اینکه فایل در داخل پوشه ای به نام __tests__ ایجاد خواهد شد.


const { sum, sub, mul, div } = require('../math.js');describe('set of arithmetic operations', () => {

test('sum of numbers', () => {
expect(sum(1, 1)).toBe(2);
});
test('subtraction of numbers', () => {
expect(sub(1, 1)).toBe(0);
});
test('multiply of numbers', () => {
expect(mul(1, 1)).toBe(1);
});
test('divide of numbers', () => {
expect(div(1, 1)).toBe(1);
});
});

توجه: به عنوان یک ملاحظه، Jest به طور پیش‌فرض به دنبال پوشه‌ای به نام __tests__ برای جستجوی تست‌ها می‌گردد و تمام فایل‌هایی را که حاوی نام هستند با انتهای .test.js یا .spec.js پوشش می‌دهد، همچنین به‌طور پیش‌فرض، همه چیز داخل node_modules را نادیده می‌گیرد.

تست ها را اجرا کنید


برای اجرای تست های دقیق، توسط کنسول دستور npm run test را نشان دهید. با این کار، جست بررسی ها را انجام می دهد و نتایج را نشان می دهد.

گزارش پوشش


گزارش های پوشش به شما این امکان را می دهد تا تخمین بزنید که چند درصد کد تست شده است. این گزارش ها معیارهای کلی را برای تجزیه و تحلیل بیشتر ارائه می دهند. برای اجرای گزارش پوشش، دستور npm run covergare را از طریق کنسول نشان دهید. با این Jest معیارها را هم توسط کنسول و هم گزارش‌های HTML تولید شده در فهرست فعلی ارائه می‌کند.

منابع جاوا اسکریپت شوخی


    Home web Jest: وب سایت اصلی، راهنما، وبلاگ و مستندات.

    کتابچه راهنمای کاربر Jest: مراحل اولیه، نصب و نمونه‌ها.

    Jest CLI: خط فرمان Jest، گزینه‌ها و موارد دیگر.

    Jest documentation API: استفاده از API، متدها و kickstarters.

    GitHub Jest: مخزن رسمی منبع باز.


پایان یافتن


در این مقاله به مفاهیم اساسی فریم می پردازیم

ework، به یاد داشته باشید که چندین تابع و دستورات CLI وجود دارد که به ما کمک می کند تا همه موارد ممکن را پوشش دهیم. خواندن مستندات برای ادامه گسترش دانش این ابزار توصیه می شود.

طراحی لوگو با بهترین طراحان لوگو

از اینکه تا اینجای کار آمدید متشکریم، اگر این را مفید یافتید، به اشتراک بگذارید. برای دریافت مطالب بیشتر عضو شوید

نظرات 0 + ارسال نظر
برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد