JavaRush /Blogue Java /Random-PT /JUnit parte II

JUnit parte II

Publicado no grupo Random-PT
continuação começou aqui -> JUnit parte I
JUnit parte II - 1
Também quero mostrar como o método funciona Assert.fail(String)- se esse método for chamado, o teste falhará. Conveniente se outros métodos da classe Assert não puderem verificar para nós. Digamos que precisamos proibir a aceitação de arquivos new String(“”). Vamos tentar fazer isso usando o construtor e desabilitar a passagem name = “” || null, age = 0; Sex = null. Vamos lá... adicionei campos adicionais para teste
private User user;
private User user1;
private User user2;

private User userNotAdd;
private User userNotAdd1;
e mudei o métodosetUp()
@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 adicionou três métodos de teste
@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");
        }
    }
}
Nos testes, percorremos a lista de usuários adicionados e verificamos se há algum dado inválido. Executamos os testes em massa e vemos a seguinte imagem... JUnit parte II - 2 Você pode ver que nossos testes para o construtor estão quebrados e mais alguns testes também foram capturados. Agora precisamos alterar o construtor para que ele não adicione um usuário com parâmetros inválidos na lista de usuários, vamos fazer assim:
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);
        }
    }
}
Executamos nossos testes e vemos que tudo está lindo. JUnit parte II - 3 Resumindo, JUnit é uma excelente ferramenta para cobrir seu código com testes. JUnit funcionará ainda melhor em conjunto com Maven , ao construir o projeto, o Maven definitivamente executará todos os testes e então construirá nosso projeto finalizado, mas se os testes falharem, o projeto não será construído e saberemos os motivos, e será mais fácil descobrir onde exatamente ocorreu a avaria. A segunda vantagem do JUnit é o caso da Refatoração , os testes JUnit nos ajudarão a garantir que a lógica do nosso programa não quebre. E em grandes projetos, a vida não é possível sem um sistema de testes automáticos, embora possa ser possível, mas seu projeto se moverá na velocidade de um caracol... ou algo parecido... JUnit parte II - 4 Se cobrirmos bem nosso código com testes , então podemos ter certeza de que nosso cliente, nosso produto, funcionará muito bem. P/S Expresso minha profunda gratidão a Victor Sergeev!!! Aqui estão os links para a videoaula em que ele nos ensinou: Obrigado pela sua atenção!!! Tenha bom humor!!! E que Deus te salve do código hindu!!! ...além disso, se alguém estiver interessado em se aprofundar no código-fonte do artigo... venha bater... vou compartilhar o início aqui - JUnit parte I
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION