Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Nota em relação ao exemplo de teste na Aula 02 - Testando as saídas.

No primeiro teste, o instrutor buscou pelos eventos emitidos antes da submissão do formulário, ou seja, antes de passar pelo método darLance() e executar a lógica que estamos querendo testar. Segue trecho do código:

test('não emite novo lance com valor menor do que zero', () => {
  const wrapper = mount(Lance)
  const input = wrapper.find('input')

  input.setValue(-100)

  const lancesEmitidos = wrapper.emitted('novo-lance')
  wrapper.trigger('submit')

  expect(lancesEmitidos).toBeUndefined()
})

Esse é um bom exemplo de como devemos ter atenção ao escrevermos nossos testes. Por mais que o teste passe, ele não valida a lógica que se propõe.

O correto seria buscarmos pelos eventos emitidos pelo componente após a submissão do form, que dispara o método que contém a lógica que queremos ver se funciona corretamente ou não.

test('não emite novo lance com valor menor do que zero', () => {
  const wrapper = mount(Lance)
  const input = wrapper.find('input')

  input.setValue(-100)

  wrapper.trigger('submit')

  const lancesEmitidos = wrapper.emitted('novo-lance')
  expect(lancesEmitidos).toBeUndefined()
})
2 respostas

Vi que mais alguém reparou nisso https://cursos.alura.com.br/forum/topico-erro-no-teste-147150

solução!

Excelente observação, Leonardo.

Como você pôde perceber, um outro aluno percebeu o mesmo. Na hora da gravação essa ordem passou desapercebida.

Bons estudos e não deixe de postar dúvidas e sugestões no fórum!