JavaRush /Blog Java /Random-FR /JUnit partie II

JUnit partie II

Publié dans le groupe Random-FR
la suite a commencé ici -> JUnit partie I
JUnit partie II - 1
Je souhaite également vous montrer comment fonctionne la méthode Assert.fail(String): si cette méthode est appelée, le test échouera. Pratique si les autres méthodes de la classe Assert ne peuvent pas vérifier pour nous. Disons qu'il faut interdire d'accepter new String(“”). Essayons de faire cela sur le constructeur et désactivons le passage name = “” || null, age = 0; Sex = null. C'est parti... J'ai ajouté des champs supplémentaires pour tester
private User user;
private User user1;
private User user2;

private User userNotAdd;
private User userNotAdd1;
et j'ai changé la méthodesetUp()
@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);
}
et ajouté trois méthodes de test
@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");
        }
    }
}
Lors des tests, nous parcourons la liste des utilisateurs ajoutés et voyons s'il y a des données invalides. Nous exécutons les tests en masse et nous voyons l'image suivante... JUnit partie II - 2 Vous pouvez voir que nos tests pour le constructeur sont interrompus et quelques tests supplémentaires sont également capturés. Nous devons maintenant modifier le constructeur pour qu'il n'ajoute pas un utilisateur avec des paramètres invalides dans la liste des utilisateurs, procédons comme ceci :
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);
        }
    }
}
Nous effectuons nos tests et constatons que tout est beau. JUnit partie II - 3 Pour résumer, JUnit est un excellent outil pour couvrir votre code de tests. JUnit fonctionnera encore mieux en conjonction avec Maven , lors de la construction du projet, Maven exécutera certainement tous les tests, puis construira notre projet terminé, mais si les tests échouent, le projet ne sera pas construit et nous en connaîtrons les raisons, et il sera plus facile de déterminer où exactement il y a une panne. Le deuxième avantage de JUnit est le cas du refactoring , les tests JUnit nous aideront à garantir que la logique de notre programme ne se brise pas. Et dans les grands projets, la vie n'est pas possible sans un système de tests automatiques, même si cela peut être possible, mais votre projet avancera à la vitesse d'un escargot... ou quelque chose comme ça... JUnit partie II - 4 Si nous couvrons bien notre code avec des tests , alors nous pouvons être sûrs que notre client, notre produit fonctionnera très bien. P/S J'exprime ma profonde gratitude à Victor Sergeev !!! Voici des liens vers la leçon vidéo dans laquelle il nous a enseigné : Merci pour votre attention!!! Bonne humeur !!! Et que Dieu vous sauve du code hindou !!! ... aussi, si quelqu'un est intéressé à fouiller dans le code source de l'article... venez frapper... Je partagerai le début ici - JUnit partie I
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION