چند وقت پیش شنیدم که شهرداری برای تحویل پروژه های نرم افزاری از پیمانکارها از TFS استفاده می کند. یعنی به جای آن که DLL و نسخه اجرایی دریافت کند، آنچه که پیمانکار روی سرور TFS کامیت کرده را دریافت و خودش Build و در محل مورد نظر نصب می کند. اگر این موضوع واقعا …
به سلامتی TeamCity را به قصد راه اندازی CI و انجام خودکار Unit Testها راه انداختیم اما مشکلات و مسائل زیادی به وجود آمد. بعضیها حل شدند و بعضیها نه. خلاصهای از نکاتی که به آن برخورد کردم: ۱- نصب خود TeamCity خیلی ساده و سریع بود. ولی تا آنجا که فهمیدم فقط با MSBuild …
یکی از روشهای رایج در Unit Test کدهای مربوط به دیتابیس این است که یک دیتابیس داخل حافظهای ساخته شده و همه تستها روی آن انجام شود. در پروژههای NHibernate این کار معمولا طی مراحل زیر انجام میشود: ۱- انجام تنظیمات دیتابیس Sqlite به صورت داخل حافظهای۲- ایجاد خودکار دیتابیس از روی mappingها در مرحله …
Mocking روشی در Unit Test است که با کمک آن رفتار کلاسها و آبجکتهایی که وابسته به منابع بیرونی بوده و غیر قابل کنترل هستند سنجیده میشود. منظور از آبجکتهای غیر قابل کنترل، آبجکتیهای مثل DateTime.Now در داتنت، کلاسهای load اطلاعات از دیتابیس، کلاسهای کار با deviceهای بیرونی مثل شبکه و فاکس و غیره میباشد. …
یکی از مهمترین جنبههای روشهای جدید مبتنی بر agile توسعه نرمافزار بر اساس نیاز محدود فعلی و تغییرات مداوم آن بر اساس تغییر نیازمندیهای مشتری یا تغییر درک تیم از نیازمندیهاست. روشهای جدید به ما میگویند هیچ چیزی را از همان اول به طور کامل نسازیم. اول یک تیکه کوچک از آن را به طور …
One of common things that I unit test with NUnit is testing throwing or not throwing a specific exception. This is done using Assert.Throws and Assert.DoesNotThrow. I used to write 2 method for a exception assert unit test. One that do the actual work and one for unit test previous method. Consider following: pubic void …
یکی از مشکلات بزرگی که نرمافزار نویسها مدام با آن دسته و پنجه نرم میکنند مشکل ارتقا اجزا و بخشهای مختلف یک نرمافزار است. برای این مشکل مثالهای زیادی وجود دارند:۱- برنامه را با VB6 نوشتهاید ولی حالا که به VB.NET ارتقا دادهاید متوجه شدهاید که پیشفرض VB.NET برای اعضای کلاس private است نه public.۲- …
از همان اولین باری که اسم Mock و Mocking را شنیدم حس کردم چیز گنگی است و تا لازم نشده سراغ آن نروم. اما به تازگی فهمیدم که اولاً با Mocking بعضی unit testهای غیر ممکن، ممکن میشوند، ثانیاً استفاده از آن میتواند تست نرمافزار را خیلی راحتتر و شیرینتر کند. قاعدتاً همه اسم Mocking …
هم Mock و هم Stub در unit testهایی استفاده میشوند که شخص نمیتواند یا نمیخواهد از بعضی objectهای مورد نیاز استفاده نماید. مثلاً قرار است متود ارسال ایمیل به امور فروش در صورت کاهش موجودی برخی کالاها تست شود. فرض کنید موقع تست امکان ارسال ایمیل به علت قطعی اینترنت وجود ندارد. در این حالت …