Open Popolinos opened 3 months ago
Teste que deu certo: Introduzimos na função, valores que já eram esperados pela mesma. Ou seja, valores que sabíamos que daria certo.
Código do teste no JUnit no IDE Intellij: package Model;
import org.junit.jupiter.api.Test; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date;
import static org.junit.jupiter.api.Assertions.*;
class ClienteTestCerto {
@Test
void getIdCliente() {
Cliente cliente = new Cliente();
cliente.setIdCliente(1);
assertEquals(1, cliente.getIdCliente());
}
@Test
void setIdCliente() {
Cliente cliente = new Cliente();
cliente.setIdCliente(1);
assertEquals(1, cliente.getIdCliente());
}
@Test
void getIdade() throws ParseException {
Cliente cliente = new Cliente();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date dataNascimento = sdf.parse("1990-06-04");
cliente.setData(dataNascimento);
assertEquals(34, cliente.getIdade());
}
@Test
void setData() throws ParseException {
Cliente cliente = new Cliente();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date dataNascimento = sdf.parse("1990-06-04");
cliente.setData(dataNascimento);
assertEquals(dataNascimento, cliente.getData());
}
@Test
void getData() throws ParseException {
Cliente cliente = new Cliente();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date dataNascimento = sdf.parse("1990-06-04");
cliente.setData(dataNascimento);
assertEquals(dataNascimento, cliente.getData());
}
@Test
void setNome() {
Cliente cliente = new Cliente();
cliente.setNome("João");
assertEquals("João", cliente.getNome());
}
@Test
void getNome() {
Cliente cliente = new Cliente();
cliente.setNome("João");
assertEquals("João", cliente.getNome());
}
@Test
void testToString() {
Cliente cliente = new Cliente();
cliente.setIdCliente(1);
cliente.setNome("João");
assertEquals("1 - João", cliente.toString());
}
}
Teste que deu errado: Introduzimos na classe valores que estavam fora do escopo da função, como por exemplo o ID do cliente, que não deveria aceitar valores negativos, mas que ao testarmos a classe a mesma não apresentou contramedidas ao input errado.
Código do teste no JUnit no IDE Intellij:
package Model;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
class ClienteTestErrado { //A função cliente buga se a informação for diferente de um numero, deveria ter uma contra medida para evitar o erro @Test void setIdClienteComValorNegativo() { Cliente cliente = new Cliente(); assertThrows(IllegalArgumentException.class, () -> { cliente.setIdCliente(-1); }); }
@Test
void setIdadeComDataNula() {
Cliente cliente = new Cliente();
assertThrows(NullPointerException.class, cliente::getIdade);
}
@Test
void setDataComDataNula() {
Cliente cliente = new Cliente();
assertThrows(NullPointerException.class, () -> {
cliente.setData(null);
});
}
@Test
void setNomeComNomeNulo() {
Cliente cliente = new Cliente();
assertThrows(NullPointerException.class, () -> {
cliente.setNome(null);
});
}
@Test
void testToStringComIdClienteNaoDefinido() {
Cliente cliente = new Cliente();
cliente.setNome("João");
assertNull(cliente.getIdCliente());
assertThrows(NullPointerException.class, cliente::toString);
}
}
A classe Cliente.java possui funções para gerar um novo cliente. Essas funções foram testadas individualmente para verificar se suportariam os testes feitos nela.