JavaRush /Java Blog /Random-IT /JUnit parte II

JUnit parte II

Pubblicato nel gruppo Random-IT
la continuazione è iniziata qui -> JUnit parte I
JUnit parte II - 1
Voglio anche mostrarti come funziona il metodo Assert.fail(String): se viene chiamato questo metodo, il test fallirà. Utile se altri metodi della classe Assert non possono controllarci. Diciamo che dobbiamo vietare l'accettazione di file new String(“”). Proviamo a farlo sul costruttore e disabilitiamo il passaggio name = “” || null, age = 0; Sex = null. Andiamo... Ho aggiunto campi aggiuntivi per i test
private User user;
private User user1;
private User user2;

private User userNotAdd;
private User userNotAdd1;
e ha cambiato il metodosetUp()
@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);
}
e ha aggiunto tre metodi di prova
@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");
        }
    }
}
Nei test, esaminiamo l'elenco degli utenti aggiunti e vediamo se sono presenti dati non validi. Eseguiamo i test in blocco e vediamo la seguente immagine... JUnit parte II - 2 Puoi vedere che i nostri test per il costruttore non sono funzionanti e vengono rilevati anche un paio di altri test. Ora dobbiamo modificare il costruttore in modo che non aggiunga un utente con parametri non validi nell'elenco degli utenti, facciamolo in questo modo:
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);
        }
    }
}
Eseguiamo i nostri test e vediamo che tutto va bene. JUnit parte II - 3 Per riassumere, JUnit è uno strumento eccellente per coprire il tuo codice con i test. JUnit funzionerà ancora meglio insieme a Maven , durante la creazione del progetto, Maven eseguirà sicuramente tutti i test e quindi costruirà il nostro progetto finito, ma se i test falliscono, il progetto non verrà creato e ne conosceremo i motivi, e sarà più facile capire dove si trova esattamente il guasto. Il secondo vantaggio di JUnit è il caso di Refactoring , i test JUnit ci aiuteranno a garantire che la logica del nostro programma non si rompa. E nei grandi progetti, la vita non è possibile senza un sistema di test automatico, anche se potrebbe essere possibile, ma il tuo progetto si muoverà alla velocità di una lumaca... o qualcosa del genere... JUnit parte II - 4 Se copriamo bene il nostro codice con i test , allora possiamo essere sicuri che il nostro cliente, il nostro prodotto, funzionerà alla grande. P/S Esprimo la mia profonda gratitudine a Victor Sergeev!!! Ecco i link alla video lezione in cui ci ha insegnato: Grazie per l'attenzione!!! Buon umore!!! E possa Dio salvarti dal codice indù!!! ...inoltre, se qualcuno è interessato a scavare nel codice sorgente dell'articolo... venga a bussare... condividerò l'inizio qui - JUnit parte I
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION