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

JUnit parte II

Publicado en el grupo Random-ES
la continuación comenzó aquí -> JUnit parte I
JUnit parte II - 1
También quiero mostrarles cómo funciona el método Assert.fail(String): si se llama a este método, la prueba fallará. Conveniente si otros métodos de la clase Assert no pueden verificar por nosotros. Digamos que necesitamos prohibir la aceptación new String(“”). Intentemos hacer esto en el constructor y deshabilitar el paso name = “” || null, age = 0; Sex = null. Vamos... Agregué campos adicionales para probar.
private User user;
private User user1;
private User user2;

private User userNotAdd;
private User userNotAdd1;
y cambió el métodosetUp()
@Before
public void setUp() throws Exception {
    user = new User("Eugenio", 35, Sex.MALE);
    user1 = new User("Puerto pequeño", 34, Sex.FEMALE);
    user2 = new User("alina", 7, Sex.FEMALE);

    userNotAdd = new User("", 0, null);
    userNotAdd1 = new User(null, 0, null);
}
y agregó tres métodos de prueba
@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");
        }
    }
}
En las pruebas, revisamos la lista de usuarios agregados y vemos si hay datos no válidos. Ejecutamos las pruebas de forma masiva y vemos la siguiente imagen... JUnit parte II - 2 Puede ver que nuestras pruebas para el constructor están fallidas y también se detectaron un par de pruebas más. Ahora necesitamos cambiar el constructor para que no agregue un usuario con parámetros no válidos a la lista de usuarios, hagámoslo así:
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);
        }
    }
}
Ejecutamos nuestras pruebas y vemos que todo está hermoso. JUnit parte II - 3 En resumen, JUnit es una excelente herramienta para cubrir su código con pruebas. JUnit funcionará aún mejor junto con Maven . Al construir el proyecto, Maven definitivamente ejecutará todas las pruebas y luego construirá nuestro proyecto terminado, pero si las pruebas fallan, el proyecto no se construirá y sabremos las razones. y será más fácil determinar dónde exactamente se produjo la avería. La segunda ventaja de JUnit es el caso del Refactoring , las pruebas de JUnit nos ayudarán a asegurar que la lógica de nuestro programa no se rompa. Y en grandes proyectos la vida no es posible sin un sistema de pruebas automático, aunque puede ser posible, pero tu proyecto se moverá a la velocidad de un caracol… o algo así… JUnit parte II - 4 Si cubrimos bien nuestro código con pruebas , entonces podemos estar seguros de que nuestro cliente, nuestro producto, funcionará muy bien. P/D ¡¡¡Expreso mi profundo agradecimiento a Victor Sergeev!!! Aquí tenéis enlaces a la videolección en la que nos enseñó: ¡¡¡Gracias por su atención!!! ¡¡¡Que tengas buen humor!!! ¡¡¡Y que Dios te salve del código hindú!!! ...además, si alguien está interesado en profundizar en el código fuente del artículo... venga a llamar... Compartiré el comienzo aquí: JUnit parte I
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION