یک چارچوب جدید برای ایجاد Mock به نام Skugga معرفی شده است که از Roslyn، تولیدکنندههای کد و Interceptorها بهره میبرد. این چارچوب با هدف ایجاد Mockهای استاتیک و سازگار با AOT (Ahead-of-Time) طراحی شده و ردپای اجرایی صفر در زمان اجرا دارد.
Skugga با استفاده از تولیدکنندههای کد در زمان کامپایل، Mockها را ایجاد میکند و نیازی به کتابخانههای زمان اجرا یا تغییر کد اصلی ندارد. این ویژگی باعث میشود که عملکرد برنامه بهبود یابد و وابستگیها کاهش یابند. همچنین، سازگاری با AOT امکان استفاده از این چارچوب در محیطهایی مانند Blazor WebAssembly را فراهم میکند.
این چارچوب از Interceptorها برای رهگیری و جایگزینی رفتار متدها در زمان کامپایل استفاده میکند. این روش امکان ایجاد Mockهای دقیق و قابل اعتماد را فراهم میکند که رفتار کلاسهای اصلی را به طور کامل شبیهسازی میکنند. توسعهدهندگان میتوانند به راحتی Mockها را برای تستهای واحد و یکپارچهسازی خود ایجاد کنند.
Skugga یک پروژه متنباز (MIT license) است که در GitHub در دسترس است و شامل نمونهها و مستندات کاملی برای شروع کار میباشد. این چارچوب میتواند به توسعهدهندگان .NET کمک کند تا تستهای بهتری بنویسند و کیفیت کد خود را بهبود بخشند.
مشاهده مطلب اصلی