devhatt/octopost

Atualizar Testes Utilizando getByText e getByRole (CharacterLimit.spec.ts)

Closed this issue · 2 comments

Descrição:

Os testes atuais para o componente CharacterLimit estão selecionando elementos com base em classes CSS, o que pode tornar os testes mais frágeis em relação a mudanças no código. A tarefa é reescrever os testes para utilizar as funções getByText e getByRole fornecidas pelo Testing Library. Isso aumentará a robustez dos testes e os tornará menos dependentes de estrutura HTML específica.

Passos:

Substituir Seleção por Classes CSS:
Atualmente, os testes selecionam elementos utilizando classes CSS. Isso será substituído pelas funções getByText e getByRole.

Identificar Elementos pelo Texto ou Papel (Role):

  • Utilize getByText para selecionar elementos com base em seu texto visível.
  • Use getByRole para selecionar elementos com base em seu papel semântico, como botões, inputs, etc.

Remover Dependência de Classes CSS:

  • Certifique-se de que os testes não estão mais dependendo de classes CSS específicas para selecionar os elementos.

Atualizar Asserts:

  • Verifique se os asserts continuam válidos após a atualização. Os asserts devem garantir que o comportamento esperado ainda seja verdadeiro.

Executar Testes:

  • Após atualizar os testes, execute-os para garantir que todos os casos estejam passando corretamente.

Exemplo de Alteração:

// Teste Atual
const characterLimitElement = container.querySelector('.characterLimit');

// Alteração Proposta
const characterLimitElement = getByRole('characterLimit');

Essa tarefa deve ser executada com cuidado para garantir que os testes continuem eficazes e reflitam com precisão o comportamento do componente.

Obrigado por abrir a issue

Verifique os nossos guidelines:

eu quero!!!