מדריך מהיר ל- @ TestPropertySource

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

אביב מביא תכונות רבות שיעזרו לנו בבדיקת הקוד שלנו. לפעמים עלינו להשתמש במאפייני תצורה מסוימים על מנת להגדיר את התרחיש הרצוי במקרי הבדיקה שלנו.

במצבים אלה, אנחנו יכולים לעשות שימוש ב- @TestPropertySource ביאור. בעזרת כלי זה אנו יכולים להגדיר מקורות תצורה בעלי עדיפות גבוהה יותר מכל מקור אחר שנעשה בו שימוש בפרויקט.

לפיכך, במדריך קצר זה נראה דוגמאות בהן אנו משתמשים בהערה זו. כמו כן, ננתח את התנהגות ברירת המחדל שלה ואת התכונות העיקריות שהיא תומכת בה.

למידע נוסף על בדיקות באביב אתחול, אנו ממליצים לעיין במדריך 'בדיקה באביב אתחול'.

2. תלות

הדרך הקלה ביותר לכלול את כל הספריות הנדרשות בפרויקט שלנו היא להוסיף את מבחן אביב-אתחול-התחלה חפץ שלנו pom.xml קוֹבֶץ:

 org.springframework.boot spring-boot-starter-test test 2.0.5.RELEASE 

אנו יכולים לבדוק ב- Maven Central כדי לוודא שאנחנו משתמשים בגרסה האחרונה של ספריית המתחילים.

3. כיצד להשתמש @TestPropertySource

בואו נדמיין שאנחנו משתמשים בערך של נכס על ידי הזרקה באמצעות ה- @ערך הערת אביב:

@Component class classUsingProperty {@Value ("$ {baeldung.testpropertysource.one}") פרטי מחרוזת PropertyOne; מחרוזת ציבורית retrievePropertyOne () {return propertyOne; }}

נשתמש ב- @TestPropertySource ביאור ברמת המחלקה כדי להגדיר מקור תצורה חדש ולדרוס את הערך של מאפיין זה:

@RunWith (SpringRunner.class) @ContextConfiguration (מחלקות = ClassUsingProperty.class) @TestPropertySource מחלקה ציבורית DefaultTest {@Autowired ClassUsingProperty classUsingProperty; @Test הציבור בטל givenDefaultTPS_whenVariableRetrieved_thenDefaultFileReturned () {פלט מחרוזת = classUsingProperty.retrievePropertyOne (); assertThat (פלט) .isEqualTo ("ערך ברירת המחדל"); }}

בדרך כלל, בכל פעם שאנחנו משתמשים בהערת בדיקה זו אנו נכלול את ה- @ContextConfiguration אחד כדי לטעון ולהגדיר את ApplicationContext לתרחיש.

כברירת מחדל, ה- @TestPropertySource ביאור מנסה לטעון א נכסים קובץ ביחס למחלקה שהכריזה על ההערה.

במקרה זה, למשל, אם שיעור המבחנים שלנו נמצא ב com.baeldung.testpropertysource חבילה, ואז נצטרך את הקובץ com / baeldung / testpropertysource / DefaultTest.properties במסלול הכיתות שלנו.

בואו נוסיף אותו לתיקיית המשאבים שלנו אז:

# DefaultTest.properties baeldung.testpropertysource.one = ערך ברירת מחדל

בנוסף, אנו יכולים לשנות את מיקום קובץ התצורה המוגדר כברירת מחדל, או להוסיף מאפיינים נוספים בעלי עדיפות גבוהה עוד יותר:

@TestPropertySource (locations = "/other-location.properties", נכסים = "baeldung.testpropertysource.one = ערך אחר-נכס")

לבסוף, אנו יכולים לציין אם אנו רוצים לרשת מיקומים ו נכסים ערכים ממחלקי על או לא. לפיכך, אנו יכולים לעבור בין inheritLocations ו inheritProperties תכונות, שהן נָכוֹן כברירת מחדל.

4. מסקנה

בדוגמה פשוטה זו למדנו כיצד להשתמש ב- @TestPropertySource הערת אביב ביעילות.

אנו יכולים למצוא דוגמאות לתרחישים השונים במאגר Github שלנו.


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