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.
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.