نام روش های آزمایشی خود را با این حاشیه نویسی ساده پاک کنید.
یکی از سخت ترین مشکلات در توسعه نرم افزار نام گذاری است. ایجاد نام های معنی دار برای جنبه های اساسی یک برنامه، مانند کلاس ها و متدها، می تواند مشکل باشد. محدودیت های نامگذاری، مانند عدم فاصله، این مشکل را بیشتر تشدید می کند.
مشکل نامگذاری در تمام جنبه های چرخه عمر توسعه نرم افزار، از جمله تست، وجود دارد. اینجاست که حاشیه نویسی JUnit @DisplayName مفید می شود.
حاشیه نویسی @DisplayName چیست؟
یک روش واحد می تواند چندین روش تست داشته باشد که هر کدام رفتار خاصی را آزمایش می کنند. با این حال، اگر نامهای رفتاری را برای روشهای تست تعیین کنید، میتوانند لفظی شوند و خواندن آنها دشوار باشد.
حاشیه نویسی @DisplayName یک جزء JUnit است که به شما امکان می دهد نام های سفارشی برای کلاس ها و روش های آزمایشی خود ایجاد کنید. این نام ها می توانند دارای فاصله، کاراکترهای خاص و حتی ایموجی باشند. حاشیهنویسی @DisplayName باید به شما کمک کند تا نامهای توصیفی و معنادارتری برای کلاسها و روشهای آزمایشی ایجاد کنید.
نحوه استفاده از حاشیه نویسی @DisplayName
در یک کلاس تست JUnit، حاشیه نویسی @DisplayName بالای نام کلاس یا درست قبل از اعلان متد ظاهر می شود. حاشیه نویسی @DisplayName یک آرگومان واحد (نام) می گیرد. این استدلال بعداً در گزارشهای آزمایشی ظاهر میشود و مستندات آزمایشی را توصیفیتر میکند.
package displayname;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
@DisplayName("Test class demonstrating how the @DisplayName annotation works.")
classDisplayNameTest {
@Test
@DisplayName("Testing display name containing special characters: °□°)╯")
voidtestDisplayNameWithSpecialCharacters() {}
@Test
@DisplayName("Testing display name containing space")
voidtestDisplayNameWithSpaces() {}
@Test
@DisplayName("Testing display name containing emoji: 😱")
voidtestDisplayNameWithEmoji() {}
}
با اجرای این کلاس جاوا، گزارش تست واحد JUnit زیر تولید می شود:
هر آرگومان حاشیه نویسی @DisplayName جایگزین کلاس یا نام متد مربوطه خود در گزارش تست JUnit می شود. حاشیه نویسی @DisplayName، “کلاس آزمایشی که نشان می دهد حاشیه نویسی @DisplayName چگونه کار می کند” بسیار گویاتر و جامع تر از DisplayNameTest است.
آزمایش بعدی چیست؟
دانستن نحوه استفاده از حاشیه نویسی @DisplayName مطمئناً اسناد آزمون واحد شما را بهبود می بخشد. به غیر از حاشیه نویسی @DisplayName، متوجه خواهید شد که تمام تست های واحد JUnit شما به یک یا چند ادعا نیاز دارند. ادعاها بلوک های سازنده آزمون های واحد JUnit هستند، بنابراین، خوب است که یاد بگیرید چگونه از آنها استفاده کنید.