Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Erro e Sucesso ao atualizar

Olá! Refazendo igual o professor, o teste fala que done() não é uma função(anexo). Insira aqui a descrição dessa imagem para ajudar na acessibilidade

No entrando ao atualizar a página funciona perfeitamente(anexo2). Uma outra dúvida, pq o que fizemos no HTML ficou aparecendo na pág de teste?

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta
solução!

Oi Nathan, tudo bem?

Vi que você finalizou o curso, que ótimo! Mas vou tentar esclarecer suas questões. Nesses casos é bom mandar o repositório do seu projeto que nós possamos fazer testes.

Primeiramente, em relação ao erro que você mencionou, no qual o teste indica que "done() não é uma função", isso pode estar relacionado a uma questão de contexto ou de escopo. A função "done()" é usada no Jasmine para lidar com tarefas assíncronas nos testes. É importante verificar se você está usando corretamente essa função no local apropriado e se ela está definida dentro do escopo adequado.

Vamos considerar um exemplo básico para entender como usar a função "done()":

it('Exemplo de teste assíncrono', (done) => {
  setTimeout(() => {
    // Realize suas asserções aqui
    expect(2 + 2).toEqual(4);

    done(); // Chame a função done() quando as asserções estiverem completas
  }, 1000);
});

No exemplo acima, temos um teste assíncrono simples em que usamos a função "setTimeout()" para simular uma operação assíncrona. Dentro da função de retorno do "setTimeout()", realizamos nossas asserções e chamamos a função "done()" para indicar que o teste foi concluído.

É fundamental verificar se você está aplicando corretamente essa abordagem em seus testes. Caso esteja enfrentando dificuldades específicas, seria interessante compartilhar o trecho de código relevante para que eu possa analisá-lo e oferecer uma ajuda mais direcionada.

Quanto à sua outra dúvida sobre o que foi feito no HTML aparecer na página de teste, isso pode estar relacionado ao conceito de renderização do Angular. Quando você executa um teste de componente, o Angular cria uma representação do componente em um ambiente isolado para fins de teste. Essa representação inclui o HTML do componente, juntamente com seu código e estilos associados.

Durante a execução do teste, o Angular renderiza esse HTML dentro de um elemento virtual específico para o teste. Isso é feito para simular o comportamento do componente em um contexto de teste controlado. Dessa forma, é possível interagir com o componente, acionar eventos e realizar asserções sobre o seu estado.

Porém, é importante observar que a renderização do HTML durante os testes é restrita ao ambiente de teste e não deve interferir na exibição normal da página em sua aplicação Angular em produção.

Caso você esteja encontrando algum problema específico relacionado à renderização do HTML durante os testes, sugiro verificar se o seu código de teste está configurado corretamente. Certifique-se de que está usando as ferramentas e métodos fornecidos pelo Jasmine e pelo Angular para realizar as asserções e interagir com o componente adequadamente.

Espero que essas explicações possam te ajudar a entender melhor os erros que você encontrou e a forma como os testes são executados no Angular.

Um abraço e bons estudos.