#C کلید ورود به بازار کار

دوره پروژه‌محور #C و ASP.NET Core

C#
C#

نوشتن تست نرم افزاری برای اپلیکیشن با فریم ورک AssertJ

مقدمه ای بر AssertJ

AssertJ نیز یک کتابخانه اجرای تست نرم افزاری همچون Hamcrest است که با ارائه ی تعداد زیاری دستور assert و interface کارا به توسعه دهنده این اجازه را می دهد تا تست های نگهداشت پذیر و کارامد برای پروژه ی اندرویدی خود بنویسند. در واقع AssertJ یک شاخه از کتابخانه ای از دستورات assert به نام Fest است که امروزه دیگر به صورت حرفه ای پشتیبانی نمی شود.

کتابخانه ی مزبور بیشتر جهت آسان سازی نوشتن دستورات assert در تست های نرم افزاری و بهبود خوانایی آن ها تعبیه شد. این کتابخانه با برخورداری از interface کارامد، به توسعه دهنده امکان می دهد تا دستورات assert را به صورت کارا و روان (پشت سرهم) جهت تست بخش های نرم افزار بنویسد.

متد پایه و اصلی کتابخانه ی نام برده assertThat بوده و دستورات مربوط به assert (بررسی صحت اجرای دستور و برآورده شدن انتظارات) بلافاصله پس از این متد درج می شوند.

استفاده ی کاربردی از AssertJ

Gradle

جهت استفاده از AssertJ همراه با سیستم کامپایل Gradle در پروژه، لازم است کتابخانه (dependency) زیر را به فایل Gradle اضافه نمایید.

testCompile 'org.assertj:assertj-core:2.0.0'

Maven

به منظور استفاده از کتابخانه ی مورد نظر در پروژه ای که با سیستم Maven کامپایل می شود، کافی است dependency (کتابخانه ی) زیر را به فایل pom خود اضافه نمایید.


org.assertj
assertj-core
  
2.0.0
test

تنظیمات مرتبط با محیط کاری Eclipse

جهت استفاده از متد assertThat از کتابخانه ی AssertJ، پس از طی کردن مسیر رو به رو: Window ▸ Preferences ▸ Java ▸ Editor ▸ Content assist ▸ Favorites ▸ New Type ، دستور org.assertj.core.api.Assertions را درج نمایید.

پس از درج دستور فوق بایستی عبارت org.assertj.core.api.Assertions.* را در کد مشاهده نمایید.

تنظیمات مرتبط با محیط کاری IntelliJ

برای استفاده از محیط برنامه نویسی IntelliJ نیاز به تنظیمات خاصی نیست. کافی است واژه ی assertThat را تایپ نموده و سپس با فشردن کلیدهای (Ctrl-Space)، قابلیت تکمیل خودکار کد (code completion) محیط کاری میزبان را دو بار فراخوانی نمایید.

مثالی کاربردی ازAssertJ

نمونه کد زیر از صفحه ی اصلی سایت AssertJ اقتباس شده است.

// unique entry point to get access to all assertThat methods and utility methods (e.g. entry)
import static org.assertj.core.api.Assertions.*;
// common assertions
assertThat(frodo.getName()).isEqualTo("Frodo");
assertThat(frodo).isNotEqualTo(sauron)
                 .isIn(fellowshipOfTheRing);
// String specific assertions
assertThat(frodo.getName()).startsWith("Fro")
                           .endsWith("do")
                           .isEqualToIgnoringCase("frodo");
// collection specific assertions
assertThat(fellowshipOfTheRing).hasSize(9)
                               .contains(frodo, sam)
                               .doesNotContain(sauron);
// using extracting magical feature to check fellowshipOfTheRing characters name :)
assertThat(fellowshipOfTheRing)
        .extracting("name")
        .contains("Boromir", "Gandalf", "Frodo", "Legolas")
        .doesNotContain("Sauron", "Elrond");
// map specific assertions, ringBearers initialized with the elves rings and the one ring bearers.
assertThat(ringBearers).hasSize(4)
                       .contains(entry(oneRing, frodo), entry(nenya, galadriel))
                       .doesNotContainEntry(oneRing, aragorn);
// and many more assertions : dates, file, numbers, exceptions ...
1396/01/16 3464 1724
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

نظرات خود را ثبت کنید...