درخدمت شما هستیم با آموزش تست Node.js با Jasmine از وب سایت آموزش برنامه نویسی سورس باران. در این جلسه که بخش دهم آموزش Node.js در 3 روز است معرفی و آشنایی کامل با تست Node.js با Jasmine را خواهیم داشت. تست یک عنصر کلیدی برای هر برنامه است. برای Node.js ، چارچوب موجود برای تست کردن ، Jasmine نام دارد.
در اوایل سال 2000 ، فریم ورکی برای آزمایش برنامه های کاربردی JavaScript با نام JsUnit وجود داشت. بعداً این فریم ورک به روز شد و اکنون به عنوان Jasmine شناخته می شود. جاسمین به واحد آزمایش (Unit Testing) خودکار کمک می کند ، چیزی که هنگام توسعه و بکارگیری برنامه های وب امروزی یک عمل کاملاً کلیدی تلقی می شود. در این آموزش یاد می گیرید که چگونه محیط خود را با Jasmine راه اندازی کنید و چگونه می توانید اولین آزمایش Node.js خود را با Jasmine شروع کنید.
آموزش تست Node.js با Jasmine
بررسی اجمالی Jasmine برای آزمایش برنامه های js
نحوه استفاده از Jasmine برای آزمایش برنامه های js
بررسی اجمالی Jasmine برای آزمایش برنامه های Node.js
Jasmine یک فریم ورک آزمایشی ، برپایه ی رفتار توسعه محور (BDD) برای JavaScript است. این به مرورگرها ، DOM یا هر فریم ورک JavaScript متکی نیست. بنابراین ، برای وب سایت ها ، پروژه های Node.js یا هر مکانی که جاوا اسکریپت بتواند آن را اجرا کند ، مناسب است. برای شروع استفاده از Jasmine ، ابتدا باید ماژول های Jasmine لازم را بارگیری و نصب کنید.
در مرحله بعد ، باید محیط اولیه خود را تنظیم کنید و پرونده پیکربندی Jasmine را بررسی کنید. مراحل زیر نحوه تنظیم Jasmine در محیط شما را نشان می دهد
مرحله 1) نصب ماژول های NPM
برای استفاده از چارچوب Jasmine از درون یک برنامه نود ، باید ماژول Jasmine را نصب کنید. برای نصب ماژول نود Jasmine ، دستور زیر را اجرا کنید.
npm install jasmine-node
مرحله 2) آماده سازی پروژه
با انجام این کار، Jasmine دایرکتوری spec و پیکربندی json را برای شما ایجاد می کند. دایرکتوری spec برای ذخیره سازی کلیه فایلهای آزمایشی شما استفاده می شود. با انجام این کار ، Jasmine می داند که تمام آزمایش های شما کجاست ، و سپس می تواند آنها را به ترتیب انجام دهد. از پرونده JSON برای ذخیره اطلاعات خاص پیکربندی در مورد Jasmine استفاده می شود.
برای آماده سازی اولیه محیط Jasmine ، دستور زیر را اجرا کنید.
jasmine init
مرحله 3) پرونده پیکربندی خود را بررسی کنید. پرونده پیکربندی در پوشه spec / support به عنوان jasmine.json ذخیره می شود. این پرونده، پرونده های منبع و پرونده های مشخصی را که دوست دارید اجرا کننده ی Jasmine در آن باشد ، ذکر می کند.تصویر زیر نمونه بارز پرونده pack.json برای Jasmine را نشان می دهد.
- توجه داشته باشید که فهرست مشخصات در اینجا مشخص شده است. همانطور که قبلاً اشاره شد ، هنگامی که Jasmine اجرا می شود ، تمام آزمایش های موجود در این فهرست را جستجو می کند.
- مورد بعدی که باید به آن توجه کنیم پارامتر spec_files است – این نشان می دهد که هرچه فایلهای آزمایشی ایجاد شوند باید با کلمه کلیدی “spec” به آنها پیوست شوند.
نحوه استفاده از Jasmine برای آزمایش برنامه های Node.js
برای استفاده از Jasmine در آزمایش برنامه های Node.js ، یک سری مراحل لازم است دنبال شود. در مثال زیر ما می خواهیم یک ماژول تعریف کنیم که 2 عدد را اضافه می کند که باید آزمایش شوند. سپس یک فایل کد جداگانه را با کد آزمایش تعریف خواهیم کرد و سپس از Jasmine برای تست عملکرد تابع Add به ترتیب استفاده می کنیم.
مرحله 1) کدی را که باید تست شود را تعریف کنید. ما می خواهیم یک تابع را تعریف کنیم که 2 عدد اضافه شود و نتیجه را برگرداند. این کد در پرونده ای به نام “Add.js” نوشته خواهد شد.
var exports=module.exports={}; exports.AddNumber=function(a,b) { return a+b; };
توضیح کد:
- کلمه کلیدی ” exports ” برای اطمینان از اینکه مطمین بشوید کارایی های تعیین شده در این پرونده دقیقا توسط سایر پرونده ها قابل دسترسی است ، استفاده می شود.
- سپس ما در حال تعریف تابعی به نام “AddNumber” هستیم. این تابع برای گرفتن 2 پارامتر ، a و b تعریف شده است. این تابع به ماژول ” exports ” اضافه شده است تا این تابع را به عنوان یک تابع عمومی تبدیل کند که توسط سایر ماژول های برنامه قابل دسترسی است.
- ما در آخر در حال ایجاد تابع خود هستیم تا مقدار اضافه شده پارامترها را برگردانیم.
مرحله 2) در مرحله بعد ، باید کد تست Jasmine خود را تعریف کنیم ، که برای تست تابع “Add ” ما در پرونده Add.js استفاده می شود. کد زیر باید پرونده ای به نام .add-spec.js را وارد کند.
توجه: کلمه “spec” باید به پرونده تست اضافه شود تا بتوان آن را با Jasmine تشخیص داد.
توضیح کد:
var app=require("../Add.js"); describe("Addition",function(){ it("The function should add 2 numbers",function() { var value=app.AddNumber(5,6); expect(value).toBe(11); }); });
- ابتدا باید پرونده js را درج کنیم تا بتوانیم عملکرد “AddNumber” را در این پرونده تست کنیم.
- اکنون ما در حال ایجاد ماژول ازمایش خود هستیم. بخش اول ماژول ازمایش توصیف روشی است که اساساً نامی برای آزمون ما می گذارد. در این حالت ، نام آزمون ما ” Addition ” است.
- نکته بعدی ارائه توضیحی برای آزمون ما با استفاده از روش “it” است.
- اکنون از روش Addnumber استفاده کرده و 2 پارامتر 5 و 6 را ارسال می کنیم. این پرونده به پرونده Addnumber در پرونده js منتقل می شود. مقدار بازگشت پس از آن در متغیری به نام مقدار ذخیره می شود.
- مرحله آخر انجام مقایسه و یا تست واقعی ما است. از آنجا که انتظار داریم مقدار برگشتی توسط تابع Addnumber ، مساوی 11 باشد ، ما این روش را با استفاده (expect(value).toBe(the expected value تعریف می کنیم.
خروجی
- برای اجرای ازمایش ، فرد باید فرمان Jasmine را اجرا کند.
- تصویر زیر نشان می دهد که پس از اجرای دستور jasmine ، تستی به نام add-spec.js را مشاهده می کنید و مطابق آن تست را انجام می دهید. در صورت بروز هرگونه خطا در آزمون ، مطابق آن نشان داده می شود.
خلاصه
- برای آزمایش یک برنامه Node.js ، ابتدا باید فریم ورک Jasmine نصب شود. این کار با استفاده از مدیر بسته Node انجام می شود.
- کد آزمایش باید در یک پرونده جداگانه نوشته شود و کلمه “spec” باید به نام پرونده اضافه شود. فقط اگر این کار انجام شود ، Jasmine قادر خواهد بود تشخیص دهد که یک فایل نیاز به اجرا دارد.
- برای اجرای تست ، باید دستور Jasmine را اجرا کنید. با این کار تمام پرونده هایی که عبارت “spec” به آن وصل شده اند را پیدا کرده و فایل را مطابق با آن اجرا می کنند.
لیست تمامی جلسات آموزش Node.js
- آموزش Node.js در ۳ روز: آشنایی با Node.js
- آموزش دانلود و نصب Node.js -NPM در ویندوز
- آموزش Node.js در ۳ روز: ایجاد،انتشار،گسترش و مدیریت در Node.js
- آموزش HTTP در Node.js + ایجاد سرور و دریافت داده
- آموزش فریم ورک Express در Node.js در ۱۰ دقیقه
- آموزش promise در برنامه نویسی Node.js
- آموزش تولید promise با کتابخانه BlueBird در Node.js
- آموزش Generators در Node.js و مقایسه با توابع Callbacks
- آموزش جریان داده یا Streams در Node.js : کار با Filestream و Pipes در Node.js
- آموزش تست Node.js با Jasmine
- تفاوت Node.Js و AngulrJS
- تفاوت Node js و Python
- آموزش MongoDB در Node.js
- کتاب آموزش Node.js برای مبتدی ها بصورت کاملا گویا
راستی! برای دریافت مطالب جدید در کانال تلگرام یا پیج اینستاگرام سورس باران عضو شوید.
- منبع : سورس باران
- رمز فايل : www.sourcebaran.com
- انتشار: ۱۹ مهر ۱۳۹۸
دسته بندی موضوعات
- آموزش برنامه نویسی
- آموزش کریپتو کارنسی (ارز دیجیتال)
- آموزش متنی برنامه نویسی
- پروژه برنامه نویسی
- فروشگاه
- فیلم های آموزشی
- #F
- ++C
- 3ds max
- Ada
- ADO.NET
- Adobe Flash
- Agile
- Ajax
- AngularJS
- Anime Studio
- apache
- ARM
- Asp.Net
- ASP.NET MVC
- assembly
- AVR
- Azure
- Bootstrap
- Cassandra
- CCNA
- CCNP
- CCSP
- ChatGPT
- Cisco
- CMD
- COBOL
- CSS
- Cython
- Django
- Dreameaver
- Elixir
- EntityFramework
- Erlang
- Flash
- Go
- Groovy
- Haskell
- Htaccess
- HTML
- IOS
- Jade
- jquery
- Kendo UI
- Linq
- Linux
- LUA
- MariaDB
- maya
- Meteor
- MongoDB
- Mono Android
- MonoGame
- Mysql
- NoSQL
- Oracle
- Orchard
- Perl
- php
- PHPMyAdmin
- R
- Rational Rose
- Ruby
- Rust
- Scala
- Scrum Master
- SFML
- SharePoint
- SignalR
- silver light
- SQL Server
- Stimulsoft Reports
- Telerik
- UML
- VB.NET&VB6
- Vue 3
- WPF
- Xml
- آردوینو
- آموزش های پروژه محور
- آیونیک
- اتوکد
- الگوریتم تقریبی
- الگوریتم نویسی و فلوچارت
- امنیت
- اندروید
- اندروید استودیو
- انیمیشن سازی
- بازی سازی با Scratch
- بک ترک
- بیسیک فور اندروید
- پایتون
- پرولوگ
- پریمیر
- جاوا
- جاوا اسکریپت
- جنگو
- جوملا
- دارت
- دلفی
- دوره های رایگان پیشنهادی
- زامارین
- سئو
- ساخت CMS
- ساخت اتوران
- ساختمان داده ها
- سی شارپ
- شبکه و مجازی سازی
- طراحی الگوریتم
- طراحی بازی
- طراحی وب
- فتوشاپ
- فریم ورک codeigniter
- فلاتر
- کاتلین
- کامپایلرها
- کانستراکت
- کریستال ریپورت
- کلوژر
- گوگل آنالیتیکس
- گیت
- لاراول
- مای بی بی
- مایکروسافت پروجکت
- متریال دیزاین
- متلب
- معماری کامپیوتر
- مهندسی اینترنت
- میکروتیک
- نود جی اس
- نیوک
- هوش مصنوعی
- ویبولوتین
- ویژوال استودیو
- یونیتی
- کتاب های آموزشی
- Ada
- Ajax
- Android
- ASP.NET
- ASP.NET Core
- AVR
- clips
- CNC
- COBOL
- CQRS
- Cython
- Dreamweaver
- Elixir
- Entity Framework 4.0
- Erlang
- Go
- Groovy
- Haskell
- LINQ
- Lua
- Matlab
- MFC
- Node.js
- PERL
- php
- PLC
- Prolog
- React
- Rust
- Scala
- SFML
- SharePoint
- silver light
- VHDL
- VMware
- WinJS
- Workflow
- WPF
- XHTML
- Yii Framework
- اتوکد
- اچ تی ام ال
- اسمبلی
- اکتیو ایکس
- الگوریتم و فلوچارت
- انگولار
- اوبونتو
- اوراکل
- بازی سازی
- بانک اطلاعاتی
- برنامه نویسی سوکت
- برنامه نویسی موبایل
- بک ترک
- پاسکال
- پایان نامه
- پایتون
- پرولوگ
- جاوا
- جاوا اسکریپت
- جی کوئری
- حوملا
- داده کاوی
- دلفی
- رباتیک
- روبی
- زبان ماشین
- سئو
- ساختمان داده ها
- سایر کتاب ها
- سخت افزار
- سوئیفت
- سی اس اس
- سی پلاس پلاس
- سی شارپ
- سیستم عامل
- سیستم های خبره
- شبکه و مجازی سازی
- شبیه سازی کامپیوتر
- طراحی الگوریتم
- فتوشاپ
- فریم ورک گتنا
- کاتلین
- کالی لینوکس
- کریستال ریپورت
- گزارش کارآموزی
- گوگل
- لیسپ
- متلب
- مقاله
- مهندسی نرم افزار
- نیوک
- هوش مصنوعی
- وب مستر
- ویژوال بیسیک
- نرم افزار و ابزار برنامه نویسی
- وردپرس