ملیساا 5015 اشتراک گذاری ارسال شده در 3 مهر، ۱۳۸۹ هیچ برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام نمی تواند مدعی باشد که قطعه برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام ی که نوشته است درست و بدون مشکل کار می کند، همیشه یک حالت هست که شما آن را در نظر نگرفته اید و همان باعث بروز خطا می شود. پس هیچ گاه نباید برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام درست برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام را به حساب درست بودن آن بگذارید. خب چاره چیست؟ آزمون های پیاپی توسط افراد متفاوت؟ این عمل در فاز اولیه توسعه هزینه بر است. بهتر است منتظر بمانید تا گروه آزمایش، درستی عملکرد برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام شما را تایید کند. برای گرفتن این تاییدیه آزمایش های واحد (unit برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام g) به کمک شما خواهد آمد. آزمایش واحد بیشتر برای تعیین درستی کارکرد یک متد به کار می رود. آیا هر متدی را می توان در آزمایش واحد گنجاند؟ بی شک نه! چراکه برای هر آزمایش واحد، حد و مرزی وجود دارد و آزمایش باید در آن حد و مرز قرار بگیرد. مثلا متدی که برای وصل شدن به برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام است یا برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام از برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام یا برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام ، جزو آزمایش های واحد محس برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام نمی شود. برای مثال اگر یکی از متدهای شما بزرگترین عدد یک فهرست را از برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام دریافت می کند، در متدی که برای آزمایش واحد آن تهیه خواهید کرد نباید هیچ گونه برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام ی جهت برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام با برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام نوشته شود.این امر سبب سریع تر اجرا شدن آزمایش های واحد خواهد شد و در آینده شما را از انجام آن به دلیل کند بودن روند انجام آزمایش ها، منصرف نخواهد کرد. همچنین تغییرات انجام شده در لایه برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام ها سبب غیرمعتبر شدن این نوع آزمایش ها نخواهد شد. به بیان دیگر وظیفه متد آزمایش واحد، اتصال به برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام یا برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام یا برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام از یک برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام نیست. چرا برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام ها آزمایش های واحد را انجام نمی دهند؟ یکی از دلایل این است که این کار را امری پرهزینه و در مرحله توسعه برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام بی فایده می پندارند، در صورتی که این تفکر اشتباه است. آزمایش واحد به برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام ها کمک می کند که از درستی برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام های نوشته شده در همان زمان آگاه شوند و به مرور زمان با حجم عظیمی از برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام های خراب ر برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام ه رو نشوند. اگر شما به عنوان برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام برای هر برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام ی که می نویسید همان لحظه یک آزمایش واحد هم بنویسید هیچ ضرر زمانی نکرده اید. درست است که آزمایش واحد امری زمان بر است ولی به مرور، این زمان کاهش پیدا می کند. حال بیایید با هم برای یک برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام کوچک یک آزمایش واحد بنویسیم. فرض کنید شما برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام ی به صورت زیر نوشته اید: برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام sampleforunit برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام { public sampleforunit برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام () { students = new list«str برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام g»(); } public list«str برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام g» students {get; set;} public list«str برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام g» getnamewithbiglength ( برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام t length) { list«str برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام g» result = new list«str برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام g»(); foreach (var student برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام students) { if (student.length »= length) { result.add(student); } } return result; } } بسیار خب، ما می خواهیم آزمایش واحدی انجام دهیم که درستی عملکرد getnamewithbiglength را نشان دهد، برای این کار از nunit استفاده می کنیم. nunit چهارچ برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام کاری برای انجام آزمایش های واحد است که تبدیل شده junit (که برای برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام هست) برای برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام است. بعد از برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام nunit یک برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام جدید از نوع برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام library ایجاد کرده و برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام nunit.framework.dll را به برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام خود ارجاع دهید، حال باید برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام ی تعریف کنیم که نشان دهنده آزمایش واحد است. در برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام ما صفت برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام fixture باید نشانه گذاری شود. در این برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام باید متدهایی برای آزمایش تعریف کنیم. این متدها باید با صفت برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام و به صورت public تعریف شده باشند که نه مقداری را برگردانند و نه مقداری را به عنوان ورودی دریافت کنند. بسیار خب، با توضیحات بالا برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام آزمایش واحد ما به صورت زیر درخواهد آمد. [ برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام fixture] public برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام fisrt برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام { [ برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام ] public void برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام gethighlength() { ... } } در بدنه متد برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام gethighlength باید برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام های مربوط به آزمایش واحد متد getnamewithbiglength نوشته شود. ابتدا یک شیء از برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام sampleforunit برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام می سازیم. سپس مقدار ویژگی students را مقداردهی می کنیم و مقدار برگشتی تابع getnamewithbiglength را با مقداری که باید برگرداند مقایسه می کنیم، اگر مقدار برگشتی درست بود نتیجه می گیریم که متد ما کارش را به درستی انجام می دهد، که برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام آن به صورت زیر خواهد بود: var sample = new sampleforunit برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام (); sample.students.addrange(new str برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام g[] { « برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام », «jamejam», «nunit» }); برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام t result = sample.getnamewithbiglength(5).count; assert.istrue(result == 2); نکته ای که در برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام بالا وجود دارد متد assert.istrue است که این متد یک شرط را چک می کند. اگر نتیجه حاصل از شرط درست بود مقدار true، و اگر غلط بود مقدار false را به nunit می دهد، مقدار بازگشتی از این متد نشان می دهد که متد شما درست است یا نه؟ حال برای آزمون، برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام nunit برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام را که در پوشه نصب شده nunit است، اجرا کرده و یک برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام جدید بسازید. مسیر برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام را در همان مسیر برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام قبول کنید و اگر مسیر دیگری را انتخاب می کنید توجه داشته باشید که برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام nunit.framework.dll در آن مسیر وجود داشته باشد. پس از ساختن برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام از منوی برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام گزینه add برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام را انتخاب کنید، سپس روی گزینه run برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام کنید. اگر آزمایش واحد شما درست بوده باشد این مورد به شما اطلاع برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام خواهد شد و اگر اشتباه باشد برای هر متد اشتباه، عدد آنها را نیز به برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام نام و خطی که اشتباه است به شما نشان می دهد. این یک مقدمه ساده در مورد آزمایش های واحد بود. اگر فرصتی بود در هفته های آتی دیگر ویژگی های آزمایش واحد را نیز بررسی خواهیم کرد. 2 لینک به دیدگاه
ارسال های توصیه شده