1
resposta

Teste automatizado do método delete

Prezados, boa noite.

O meu método delete funciona normalmente. Os testes foram realizados via cURL como demonstrado no vídeo. Entretanto, gostaria de saber qual a melhor abordagem para realizar um teste automatizado do método delete. Quando pedimos para criar um objeto no banco temos como retorno um Response e não sabemos nesse momento qual foi o ID atribuído ao objeto (pode ser um auto incremento ou outra abordagem qualquer). Fato é que sabemos apenas que o WS fez o seu papel corretamente mas não temos mais acesso ao objeto.

Assim, no método de teste do DELETE eu gostaria de criar um objeto, pegar esse objeto do banco, chamar a URI para apagar o objeto e solicitar novamente ao banco o objeto para checar se ele foi de fato apagado. Como eu faria nesse caso?

@Test
public void apagaProjeto() {
    Response response = target.path("/projetos/1").request().delete();
    Assert.assertEquals(200, response.getStatus());
}

O método acima procura remover o projeto de ID igual a 1. Não tenho certeza se ele existe e, portanto, seria importante inserir um projeto para ter essa certeza. Posso chamar o método para inserir mas eu não teria certeza de qual seria o seu ID.

Aproveitando, outra dúvida simples: a forma correta de se passar o path para o delete seria essa?

1 resposta

"Aproveitando, outra dúvida simples: a forma correta de se passar o path para o delete seria essa?" Sim.