JavaRush /בלוג Java /Random-HE /JUnit חלק II

JUnit חלק II

פורסם בקבוצה
ההמשך התחיל כאן -> JUnit חלק א'
JUnit חלק II - 1
אני גם רוצה להראות לכם איך השיטה עובדת Assert.fail(String)- אם קוראים לשיטה הזו, המבחן ייכשל. נוח אם שיטות אחרות של המחלקה Assert לא יכולות לבדוק עבורנו. נניח שאנחנו צריכים לאסור קבלה new String(“”). בוא ננסה לעשות זאת בקונסטרוקטור ולנטרל העברת name = “” || null, age = 0; Sex = null. בוא נלך... הוספתי שדות נוספים לבדיקה
private User user;
private User user1;
private User user2;

private User userNotAdd;
private User userNotAdd1;
ושינו את השיטהsetUp()
@Before
public void setUp() throws Exception {
    user = new User("Eugene", 35, Sex.MALE);
    user1 = new User("Marina", 34, Sex.FEMALE);
    user2 = new User("Alina", 7, Sex.FEMALE);

    userNotAdd = new User("", 0, null);
    userNotAdd1 = new User(null, 0, null);
}
והוסיפו שלוש שיטות בדיקה
@Test
public void newUser_EMPTY_NAME() {
    for (User user : User.getAllUsers()){
        if (user.getName() != null && user.getName().isEmpty()) {
            Assert.fail("Попытка создания пользователя с пустым именем");
        }
    }
}

@Test
public void newUser_AGE_ZERO() {
    for (User user : User.getAllUsers()) {
        if (user.getAge() <= 0) {
            Assert.fail("Попытка создания пользователя c не допустимым возрастом");
        }
    }
}

@Test
public void newUser_SEX_NO_NULL() {
    for (User user : User.getAllUsers()) {
        if (user.getSex() == null) {
            Assert.fail("Попытка создания пользователя с указанием пола = null");
        }
    }
}
בבדיקות, אנו עוברים על רשימת המשתמשים שנוספו ובודקים אם יש נתונים לא חוקיים. אנחנו מריצים את הבדיקות בכמויות, ורואים את התמונה הבאה... JUnit חלק II - 2 אפשר לראות שהבדיקות שלנו עבור הקונסטרוקטור מקולקלות, וגם נתפסו עוד כמה בדיקות. עכשיו צריך לשנות את הקונסטרוקטור כדי שלא יוסיף משתמש עם פרמטרים לא חוקיים לרשימת המשתמשים, בוא נעשה זאת כך:
public User(String name, int age, Sex sex) {
    if (name != null && !name.isEmpty() && age > 0 && sex != null){
        this.name = name;
        this.age = age;
        this.sex = sex;

        if (!hasUser()) {
            countId++;
            this.id = countId;
            allUsers.put(id, this);
        }
    }
}
אנחנו מפעילים את הבדיקות שלנו ורואים שהכל יפה, JUnit חלק II - 3 לסיכום, JUnit הוא כלי מצוין לכיסוי הקוד שלך בבדיקות. JUnit יעבוד אפילו טוב יותר בשיתוף עם Maven , בעת בניית הפרויקט, Maven בהחלט תריץ את כל הבדיקות, ולאחר מכן יבנה את הפרויקט המוגמר שלנו, אבל אם הבדיקות ייכשלו, הפרויקט לא ייבנה, ואנחנו נדע את הסיבות, ויהיה קל יותר להבין היכן בדיוק התמוטטות. היתרון השני של JUnit הוא המקרה של Refactoring , בדיקות JUnit יעזרו לנו להבטיח שההיגיון של התוכנית שלנו לא יישבר. ובפרוייקטים גדולים, החיים לא אפשריים בלי מערכת בדיקה אוטומטית, למרות שזה אולי אפשרי, אבל הפרויקט שלך ינוע במהירות של חילזון... או משהו כזה... JUnit חלק II - 4 אם נכסה היטב את הקוד שלנו בבדיקות , אז נוכל להיות בטוחים שהלקוח שלנו, המוצר שלנו יעבוד מצוין. P/S אני מביע את תודתי העמוקה לויקטור סרגייב!!! הנה קישורים לשיעור הווידאו בו הוא לימד אותנו: תודה לך על תשומת הלב!!! שיהיה לך מצב רוח טוב!!! ושאלוהים ישמור אותך מהקוד ההינדי!!! ...כמו כן, אם מישהו מעוניין לחפור בקוד המקור של המאמר... בוא תדפוק... אני אחלוק כאן את ההתחלה - JUnit חלק א'
הערות
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION