نظرات مطالب
آشنایی با NHibernate - قسمت دوم
سلام
- ضمن تشکر از لطف شما، بنده استاد نیستم. یک سری مطلب رو از این طرف اون طرف پیدا می‌کنم و با هم تقسیم می‌کنیم. فقط همین و لطفا این لفظ رو دیگر بکار نبرید.
- خیر. می‌شد برای آزمایش یک برنامه کنسول هم نوشت. اما دیگر مرسوم نیست. بجای استفاده از یک برنامه کنسول، آزمایش واحد بنویسید. هم روشی است استاندارد، هم به عنوان مستندات نحوه استفاده از متدهای پروژه می‌تونه مورد استفاده قرار بگیره، هم سبب میشه کد بهتری بنویسید چون مجبور خواهید شد در هم تنیدگی کدهای خودتون رو برای متد تست نوشتن کمتر کنید و هم .... در مقالات مربوطه (تگ unit test سمت راست صفحه) مابقی مزایا، نحوه تولید استفاده و غیره را لطفا مطالعه کنید.
نظرات مطالب
آشنایی با Refactoring - قسمت 1
سلام
با توجه به اینکه نسخه جدید fxCop با Windows SDK ارائه شده که حجم SDK حدود 600 مگ هست ، دوستانی که به هر دلیلی مایل به دانلود کل SDK نیستند میتونن از فایل زیر به در یافت تنها fxCop  با حجم 10 مگ اقدام کنند. http://www.mediafire.com/?hq3k13d7cuoxe7rدر ضمن یک آموزش نحوه استفاده مختصر و مفید از این ابزار رو میتونید در این لینک ببینید http://www.codeproject.com/KB/dotnet/FxCop.aspx

حالا شما آماده هستید تا سری آموزش های آشنایی با Refactoring رو دنبال کنید.
نظرات مطالب
SignalR
شما که به غلط املاییش دقت کردی، به انتهای بحث که نوشته شده این مباحث به روز شده‌اش در دوره SignalR سایت ارائه شدند، دقت نکردی؟ اون متد dynamic هست؛ یعنی اصلا نیازی نیست وجود خارجی داشته باشه. فقط کمی در نگارش‌های جدید، Refactoring انجام دادن، بعدش باید مشخص کنی به All یا به گروه خاصی این پیام‌ها ارسال بشه. کلیاتش یکی هست. فقط کمی تعاریف اولیه رو Refactor کردن. در بحث معرفی hubs دوره‌ای که نام برده شد این‌ها هست.
اشتراک‌ها
روش مهاجرت از Moq به NSubstitute

Unit testing is an integral part of modern software development. For years, Moq has been a popular choice in the .NET ecosystem for creating mock objects. Recent concerns over Moq’s SponsorLink feature have prompted some developers to consider such a switch. In this article, we delve into why you might consider NSubstitute over Moq and how to make the transition. 

روش مهاجرت از Moq به NSubstitute
اشتراک‌ها
انتشار ReSharper Ultimate 2018.3.2

ReSharper 2018.3.2 bug-fix update fixes:

- Many issues in C#, VB.NET, and TypeScript Code Analysis.
- More than a dozen issues related to parameter name hints.
- Missing “Find Code Dependent on Module” item in a context menu for a project node in the Solution Explorer tab.
- Several issues in Unit Testing.
- Some issues related to auto-detect naming style.
 

انتشار ReSharper Ultimate 2018.3.2
اشتراک‌ها
معرفی EfCore.InMemoryHelpers

• Add foreign key constraint checking to the in-memory provider
Reasoning: It is desirable for foreign keys to be validated when running unit tests. This allows bugs to be caught earlier without the need for integration testing against a real database.

معرفی EfCore.InMemoryHelpers
اشتراک‌ها
چگونه توابع Private و Protected را آزمایش کنیم؟
در این مقاله قدیمی، نویسنده در ابتدا برسی میکند که آیا اصلا لازم است توابع Private یا Protected آزمایش شوند؟ سپس به نقل از کتاب Pragmatic Unit Testing in C# with NUnit ویژگی‌های تست خوب را معرفی می‌کند. همچنین سه شرط دیگر شامل:
  • Transparency: عدم تغییر سیستم تحت آزمون: مثل افزودن امکانات اضافی به کد محصول جهت سهولت آزمایش
  • Scope: قابلیت اجرا بر روی هر دو حالت Debug و Release
  • Simplicity: سربار کم و سادگی تست برای تغییر
را در ادامه ذکر می‌کند.
سه استراتژی برای برخورد با مسئله معرفی می‌شود و در آخر، راه حل هایی برای آزمایش توابع Private (به کمک Reflection) و Protected (به کمک وراثت) ارائه می‌کند.
چگونه توابع Private و Protected را آزمایش کنیم؟
نظرات مطالب
آشنایی با ویژگی DebuggerDisplay در VS.Net
سلام
دو ماخذ در بالا معرفی کردم که به اندازه‌ی کافی توضیحات لازم را به همراه دارند و ترجمه هر کدام شاید 20 - 30 صفحه‌ای می‌شود.

کلا شما مجبور نیستید از این خصیصه‌ها یا ویژگی‌ها استفاده کنید. این‌ها یک سری اطلاعات اضافی هستند که به تعاریف کلاس‌ها یا متدها اضافه می‌شوند (می‌توانند اضافه شوند)، مثلا راهنما یا URL یا بیان این‌که این متد منسوخ شده است و دیگر از آن استفاده نکنید (در intellisense ظاهر می‌شود) و امثال آن.
و یا کارآیی زمان اجرا می‌توانند داشته باشند مثل متدهای یک وب سرویس که با ویژگی وب‌ متد مشخص می‌شوند و در زمان اجرا به عنوان یکی از متدهای یک وب سرویس قابل استفاده خواهند بود. یا اگر مباحث unit testing را دنبال کرده باشید، یک سری ویژگی سفارشی دیگر نیز به کلاس‌های آزمون واحد اضافه می‌شود که نه در کامپایل تاثیری دارند و نه در هنگام اجرا بلکه توسط ابزارهای بررسی آزمون‌های واحد شناسایی شده و مورد استفاده قرار می‌گیرند.