برنامه نویسی

ایجاد داده های ساختگی خود را در تست ها با @lifeiscontent/to-mocked ساده کنید

آیا زمان زیادی را صرف ساختن داده های ساختگی پیچیده برای تست های خود می کنید؟ آیا اغلب مطمئن می شوید که داده های ساختگی به طور دقیق انواع واقعی را منعکس می کنند، اما احساس می کنید که این یک فرآیند خسته کننده و مستعد خطا است؟ اینجاست که بسته @lifeiscontent/to-mocked وارد می‌شود.

toMocked یک تابع کاربردی TypeScript است که به طور خاص برای ساده کردن ایجاد ساختارهای داده مسخره شده برای آزمایش طراحی شده است. این طرح برای رسیدگی به چالش‌های ناشی از تولید داده‌های ساختگی پیچیده طراحی شده است. به جای ساخت دستی کل یک شی برای آزمایش، این تابع به شما امکان می دهد نوع شی را مشخص کنید و فقط داده های لازم را که واقعاً در آزمایش استفاده می شود ارائه دهید.

الف را در نظر بگیرید User به عنوان مثال نوع:

type User = {
  name: string;
  age: number;
  address: {
    city: string;
    country: string;
  };
};
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

شما به راحتی می توانید یک کاربر مسخره شده ایجاد کنید toMocked:

let user = toMocked<User>({
  name: "Alice",
  age: 30,
  address: {
    city: "CityX",
  },
});

console.log(user.name); // "Alice"
console.log(user.address.city); // "CityX"
console.log(user.address.country); // Throws Error: Property "country" does not exist on...
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مزیت اضافه استفاده از toMocked بازخورد فوری است که هنگام تغییر کد برنامه و شکستن تست ها ارائه می کند. این نشان می دهد که چگونه انتظارات تغییر کرده است و نگهداری و به روز رسانی مجموعه آزمایشی شما را به طور قابل توجهی آسان تر می کند. به خصوص زمانی که از چارچوب های آزمایشی مانند Vitest استفاده می کنید، toMocked یکپارچه ادغام می شود و نوشتن تست ها را آسان می کند.

به یاد داشته باشید، در TypeScript، object انواع غیر ابتدایی را نشان می دهد. بنابراین، با toMocked، شما محدود به استفاده از اشیاء ساده نیستید. شما می توانید از آرایه ها و انواع پیچیده دیگر نیز استفاده کنید.

function toMocked<T extends object>(value: any): T;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

زیر سطح، toMocked از جاوا اسکریپت قدرتمند استفاده می کند Proxy شیء برای تعریف رفتار سفارشی برای جستجوی اموال. بررسی می کند که آیا ویژگی مورد دسترسی در شی مورد نظر وجود دارد یا خیر. اگر این کار را نکرد، خطا می دهد. در صورت وجود، ملک بازیابی می شود. اگر ویژگی خود یک شی باشد، با فراخوانی بازگشتی در سطح دیگری از پروکسی پیچیده می شود toMocked.

با انجام این کار، اطمینان حاصل می‌شود که داده‌های آزمایشی شما تا حد امکان واقعی را تقلید می‌کند و زمانی که انتظارات تغییر می‌کند، تست‌های شما به سرعت شکست می‌خورد. بنابراین، اگر به دنبال ابزاری هستید که بتواند فرآیند آزمایش شما را با ایجاد داده های ساختگی واقعی تر و قابل نگهداری ساده تر کند، @lifeiscontent/to-mocked یک رقیب شایسته است. آن را امتحان کنید و متوجه تفاوت آن در روند کار تست خود شوید.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا