پیاده سازی یک FileHelper سازگار با تمامی سیستم عامل ها در Asp.Net Core


زمانی که در سی شارپ با فایل ها کار می کنیم، معمولا به این فکر هستیم که در تمامی سیستم عامل ها به درستی کار کند. زیرا مسیرها در ویندوز، لینوکس و مک باهم تفاوت دارند. برای مثال در ویندوز برای جداسازی پوشه ها از / استفاده می شود، اما در لینوکس از / استفاده می شود. اگر در ....
ادامه مطلب

Build گرفتن از پروژه قبل از پوش کردن git commit


در مواقعی که چندین ساعت پشت سرهم کار انجام میدهیم و خسته می شویم، امکان این کار وجود دارد که پروژه را سریعا push کنیم و بررسی نکنیم که اصلا پروژه بیلد میشود یا نه. در Git این قابلیت وجود دارد که قبل از پوش کردن یکسری دستورات را ....
ادامه مطلب

تست نویسی با دیتابیس واقعی


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

تست نویسی برای APIها در Asp.Net Core


در مقاله قبل به بررسی مثالی از نوشتن تست واحد پرداختیم. در این مطلب می خواهیم به پیاده سازی تست برای APIها بپردازیم با استفاده از کتابخانه xUnit. برای این کار ابتدا یک پروژه از نوع Asp.Net Core Web App ایجاد می کنیم. سپس یک کنترلر به نام UsersController ایجاد میکنیم ....
ادامه مطلب

استفاده از ThrowHelper به جای throw new Exception


زمانی که در برنامه می خواهیم خطایی را صادر کنید، معمولا از throw new exception استفاده می کنیم و متن مناسب خطا را درون کلاس exception قرار می دهیم. اما اگر تعداد این صادر کردن خطاها زیاد شود باعث افزایش کد assembly می شود. ....
ادامه مطلب