otaldoLOCK / ProjetoMVC_Projeto

Projeto Teste no padrão MVC - Com MER, diagrama de classes e diagrama de caso de uso
0 stars 0 forks source link

Teste ClienteCompra.java teste acerto e erro #3

Open Popolinos opened 3 months ago

Popolinos commented 3 months ago

A classe ClienteCompra.java possui funções que pegam o cliente e que verificam a quantidade que o mesmo pretende comprar de algo. Essas funções foram testadas individualmente para verificar se suportariam os testes feitos nela.

Popolinos commented 3 months ago

Teste certo: Seguimos os protocolos da classe, tentando evitar algum erro para efetuar um teste positivo.

Teste realizado no JUnit, por meio do Intellij:

package Model;

import org.junit.jupiter.api.Test; import java.util.Date;

import static org.junit.jupiter.api.Assertions.*;

class ClienteCompraTestCerto {

@Test
void setCliente() {
    Cliente cliente = new Cliente();
    cliente.setIdCliente(1);
    cliente.setNome("João");
    ClienteCompra clienteCompra = new ClienteCompra(cliente, 5);
    assertEquals(cliente, clienteCompra.getCliente());
}

@Test
void getCliente() {
    Cliente cliente = new Cliente();
    cliente.setIdCliente(1);
    cliente.setNome("João");
    ClienteCompra clienteCompra = new ClienteCompra(cliente, 5);
    assertEquals(cliente, clienteCompra.getCliente());
}

@Test
void setQuantidade() {
    Cliente cliente = new Cliente();
    cliente.setIdCliente(1);
    cliente.setNome("João");
    ClienteCompra clienteCompra = new ClienteCompra(cliente, 5);
    clienteCompra.setQuantidade(10);
    assertEquals(10, clienteCompra.getQuantidade());
}

@Test
void getQuantidade() {
    Cliente cliente = new Cliente();
    cliente.setIdCliente(1);
    cliente.setNome("João");
    ClienteCompra clienteCompra = new ClienteCompra(cliente, 5);
    assertEquals(5, clienteCompra.getQuantidade());
}

@Test
void testToString() {
    Cliente cliente = new Cliente();
    cliente.setIdCliente(1);
    cliente.setNome("João");
    ClienteCompra clienteCompra = new ClienteCompra(cliente, 5);
    assertEquals("Cliente: 1 - João - Quantidade Venda(s): 5", clienteCompra.toString());
}

}

Popolinos commented 3 months ago

Teste que deu errado: Para este teste ao usarmos valores null e negativo nos inputs das funções gerando erros nos testes

Teste realizado no JUnit, por meio do Intellij:

package Model;

import org.junit.jupiter.api.Test;

import static org.junit.jupiter.api.Assertions.*;

class ClienteCompraTestErrado {

@Test
void setClienteComClienteNulo() {
    ClienteCompra clienteCompra = new ClienteCompra(null, 5);
    assertThrows(NullPointerException.class, clienteCompra::getCliente);
}

@Test
void setQuantidadeComQuantidadeNegativa() {
    Cliente cliente = new Cliente();
    cliente.setIdCliente(1);
    cliente.setNome("João");
    ClienteCompra clienteCompra = new ClienteCompra(cliente, -5);
    assertThrows(IllegalArgumentException.class, clienteCompra::getQuantidade);
}

@Test
void testToStringComClienteNulo() {
    ClienteCompra clienteCompra = new ClienteCompra(null, 5);
    assertThrows(NullPointerException.class, clienteCompra::toString);
}

}