Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

149
Visualizações
Cómo simular un evento clave desde una entrada en una prueba de unidad Angular -cli 4

En Vanilla JS puede simular una tecla en una entrada haciendo:

 testComponent.dispatchEvent(new Event("keyup"))

Sin embargo, hacer esto en la prueba de unidad angular-cli o en la consola no activa esta función en mi componente , que responde a eventos clave de la siguiente manera:

 @HostListener('keyup', ['$event']) onKeyUp(event: KeyboardEvent) {

¿Algunas ideas?

about 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Deberías crear un evento.

 const event = new KeyboardEvent('keyup', { bubbles : true, cancelable : true, shiftKey : false });

Y luego obtenga la referencia de debugElement usando el selector css

 const input = debugElement.query(By.css('#id_of_element'));

Y luego la referencia del elemento html nativo del anterior

 const inputElement = input.nativeElement;

Asigne el valor para el elemento nativo como , ahora el valor del campo de texto contiene 12.

 inputElement.value = 12;

finalmente enviar el evento clave

 inputElement.dispatchEvent(event);

activará la función

No olvide agregar la siguiente línea antes de cada uno y asegúrese de definir debugElement

 debugElement = fixture.debugElement;

Espero eso ayude

about 4 years ago · Santiago Trujillo Relatório

0

Mi caso, de alguna manera, el valor estaba vacío y tuve que definirlo explícitamente:

 function generateKeyUpEvent(value: string): KeyboardEvent { const event: KeyboardEvent = new KeyboardEvent('keyup', { bubbles: true, cancelable: true }); Object.defineProperty(event, 'target', { value: { value } }); return event; }

y luego envío en mi caso de prueba:

 component.input.nativeElement.dispatchEvent(generateKeyUpEvent('a'));
about 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda