Há um problema aqui. Ao rodarmos todos os testes teremos mais de uma linha na tabela designando mais de um usuário, mas com as mesmas informações - fazendo com que este teste de deleção eventualmente falhe.
ATÉ 50% OFF
TÁ ACABANDO!
0 dias
0 horas
0 min
0 seg
Há um problema aqui. Ao rodarmos todos os testes teremos mais de uma linha na tabela designando mais de um usuário, mas com as mesmas informações - fazendo com que este teste de deleção eventualmente falhe.
Fala Gilberto, blz?
Cara, existe uma url na aplicação que limpa o banco todo certo?
A solução é vc criar um método setUp na sua calsse de testes e anotar com @Before, e neste método vc realizar a limpeza o seu banco.
O ideal em testes de unidade é ele ser totalmente independente dos outros, então no seu teste de exclusão, realize também uma inserção e depois a exclusão, veja um exemplo:
@Test
public void deveCadastrarEDepoisExcluirUmUsuario(){
usuarios.novo().cadastra("Batman", "batm@n.com");
assertTrue(usuarios.existeNaListagem("Batman", "batm@n.com"));
int posicao = 2;
usuarios.exclui(posicao);
assertFalse(usuarios.existeNaListagem("Batman", "batm@n.com"));
}
E o método exclui..
public void exclui(int posicao) {
driver.findElements(By.tagName("button")).get(posicao - 1).click();
// pega o alert que está aberto
Alert alert = driver.switchTo().alert();
// confirma
alert.accept();
}
Espero ter ajudado!
Concordo com a colocação do Felipe, pois o teste tornou-se dependente dos demais, em função dele depender de registros informados anteriormente.