JUnit 5 @ ביאור טסט

1. סקירה כללית

במאמר זה נסקור סקירה מהירה של JUnit @מִבְחָן ביאור. ביאור זה מספק כלי רב עוצמה לביצוע בדיקות יחידה ורגרסיה.

2. תצורת Maven

כדי להשתמש בגרסה האחרונה של JUnit 5, נצטרך להוסיף את התלות הבאה של Maven:

 org.junit.jupiter junit-jupiter-engine 5.1.0 test 

אנו משתמשים ב- מִבְחָן היקף כי אנחנו לא רוצים שמייבן יכלול את התלות הזו בבנייה הסופית שלנו.

מכיוון שהתוסף הבטוח עדיין לא תומך באופן מלא ב- JUnit 5 באופן מקורי, נצטרך להוסיף ספק, שאומר למיין היכן למצוא את הבדיקות שלנו:

 maven-surefire-plugin 2.19.1 org.junit.platform junit-platform-surefire-provider 1.0.2 

בתצורה שלנו נשתמש ב- 2.19.1 בטוחה כי, בעת כתיבת שורות אלה, גרסה 2.20.x אינה תואמת את ספק-פלטפורמת-ספק-בטוח.

3. השיטה בבדיקה

קודם כל, בואו נבנה שיטה פשוטה בה נשתמש בתרחישי הבדיקה שלנו כדי להציג את ה- @מִבְחָן יכולות ההערה:

בוליאני ציבורי isNumberEven (מספר שלם) {מספר החזרה% 2 == 0; }

שיטה זו אמורה לחזור נָכוֹן אם הטיעון שהועבר הוא מספר זוגי ו שֶׁקֶר אחרת. עכשיו, בואו נבדוק אם זה עובד כמו שהוא אמור.

4. בדיקת השיטה

לדוגמא שלנו, אנו רוצים לבדוק באופן ספציפי שני תרחישים:

  • כאשר נותנים מספר זוגי, השיטה צריכה לחזור נָכוֹן
  • כאשר מקבלים מספר אי זוגי, השיטה צריכה לחזור שֶׁקֶר

המשמעות היא שקוד היישום יקרא שלנו isNumberEven שיטה עם פרמטרים שונים ובדוק שהתוצאה היא מה שאנחנו מצפים לה.

על מנת שהמבחנים יוכרו ככאלה, נוסיף את ה- @מִבְחָן ביאור. אנחנו יכולים לקבל כמה כאלה שאנחנו רוצים בשיעור, אבל זה נוהג טוב להרכיב רק את אלה שקשורים. שימו לב גם לכך אסור שבדיקה תהיה פְּרָטִי, והוא גם לא יכול להחזיר ערך - אחרת זה פשוט יתעלם.

בהתחשב בשיקולים אלה, בואו נכתוב את שיטות הבדיקה שלנו:

@Test בטל givenEvenNumber_whenCheckingIsNumberEven_thenTrue () {תוצאה בוליאנית = bean.isNumberEven (8); Assertions.assertTrue (תוצאה); } @Test בטל שניתןOddNumber_whenCheckingIsNumberEven_thenFalse () {תוצאה בוליאנית = bean.isNumberEven (3); Assertions.assertFalse (תוצאה); }

אם אנו מריצים כעת מבנה Maven, התוסף הבטוח יעבור על כל השיטות המאושרות בכיתות המוצגות תחת src / test / java ולהוציא אותם להורג, מה שגורם לבניית כישלון אם מתרחשות כשלים בבדיקה.

אם אתה בא מ- JUnit 4, שים לב שבגרסה זו ההערה אינה מקבלת פרמטרים כלשהם. כדי לבדוק פסק זמן או חריגה שנזרקה, נשתמש בטענות במקום:

@Test בטל שניתןLowerThanTenNumber_whenCheckingIsNumberEven_thenResultUnderTenMillis () {Assertions.assertTimeout (Duration.ofMillis (10), () -> bean.isNumberEven (3)); } @Test בטל שניתן Null_whenCheckingIsNumberEven_thenNullPointerException () {Assertions.assertThrows (NullPointerException.class, () -> bean.isNumberEven (null)); }

5. מסקנה

במדריך מהיר זה, הראינו כיצד ליישם ולהריץ בדיקת JUnit פשוטה עם ה- @מִבְחָן ביאור.

מידע נוסף על מסגרת JUnit ניתן למצוא בפוסט זה המספק מבוא כללי.

כל הקוד המשמש בדוגמאות זמין בפרויקט GitHub.


$config[zx-auto] not found$config[zx-overlay] not found