ما را به تست نویسی توصیه بسیار کردند(react-native)

بچها سلام سلام

من امروز می خوام تست نویسی بنویسم اولش برام یه غول بزرگ بود گذاشته بودم مرحله اخر برم سراغش ولی تو امتحان ها خیلی رو مخم بود چون توی درس دیجیتال توی مباحثی که استادمون درس میداد برای زبان Verilog تست نویسی هم بود که دیدم چه چیز راحتیه

گفتم شروع کنم ببینم چجوریه چیزی که وجود داشت ورژن پایین babel من بود که خوب تست ارور میداد

من از ورژن @0.57.8 استفاده می کردم ولی نمی دونم از چه ورژن به بعد خود ری اکت نیتیو امده و تست به صورت دیفالت گذاشت روی هر پروژه

اگه مث من اولش به مشکل خوردین می تونید ری اکت نیتیو با اخرین ورژنش init کنید تا babel و هر چیز دیگه که لازمه خودش اپدیت کنه

این دایرکتوری تست توی ورژن های جدید اضافه کرده و توی ورژن های قبلی خودمون باید میساختیم
این دایرکتوری تست توی ورژن های جدید اضافه کرده و توی ورژن های قبلی خودمون باید میساختیم




من قصد داشتم از jest استفاده کنم اول کار هیچ ایده ای نداشتم حتی نمی دونستم فریم ورک اند لایبری اند یا چی ؟ توی این ویرگول های اقای حبیب خدا دیدم از jest استفاده کردن رفتم توی سایتش دیدم نوشته

At Facebook, we use Jest to test React Native applications.

وقتی package.json یه نگاهی انداختم دیدم که خود ری اکت نیتیو برای تستش از همین فریم ورک jest استفاده می کنه

// package.json
  "scripts": {
    "test": "jest"
  },
  "jest": {
    "preset": "react-native"
  }

ولی خوب حالا بریم ببینیم چجوریه و یه اشنایی پیدا کنیم این ویرگول خیلی سطحیه ولی توی ویرگول های بعد یا ادامه ی همین تخصصی تر می نویسم حتما

چرا که ما را به تست نویسی بسیار توصیه کردن



قبل از این که شروع کنیم کدهاشو یه تحلیل ریزی بریم بیاییم و کامند npm test بزنید تا باورتون بشه این عزیزدل کنارمون بوده و ما توجه نمیکردیم بهش:(

من یه خط کد رو هم تغیر ندادم و خوب بدیهیه که پاس بشه تستم :/

حالا بریم توی دایرکتوری __tests__ یه فایل هست اونجا تموم چیزهایی که می خواییم تست بشن می نویسیم اونجا

import 'react-native';
import React from 'react';
//inja mikhaeem barai component app.js test benevisim pas importSh mikonim
import App from '../App';
import renderer from 'react-test-renderer';

it('renders correctly', () => {
//inja toi create name component minevisim
 renderer.create(<App />);
});




من اینجا حرفی از snapshot testing نزدم چون هنوز مطمئن نیستم داستانشو حتما حتما این ویرگول اپدیت میشه

برای تست نویسی ویرگول فارسی برای ری اکت نیتیو نبود به خاطر همین خیلی ناقص نوشتم و با اطلاعات خودم و راهنمایی اقای نیما عارفی نوشته شد

ولی چندتا ویدیو پیدا کردم تو اولین فرصت کامل می کنم :)