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

240
Visualizações
¿Cómo probar un método en Class que extiende HTMLElement con Jest?

Tengo una clase abstracta.

 class Component extends HTMLElement { connectedCallback() { this.render(); } render() { this.innerHTML = this.template(); } template() { return ''; } ... }

Y tengo una Clase que extiende la clase Component .

 class StatisticsModal extends Component { render() { const winningCounts = this.getWinningCounts(winningNumbers, lottoList); const earningsRate = this.getEarningsRate(winningCounts); this.innerHTML = this.template(winningCounts, earningsRate); document.querySelector('body').classList.add('modal-open'); } getEarningsRate(winningCounts) { const total = [5, 4, 3, 2, 1].reduce((money, rank) => { return money + winningCounts[rank] * LOTTO.PRIZE_MONEY[rank]; }, 0); return Math.floor((total / 1000) * 100); } getWinningCounts(winningNumbers, lottoList) { return lottoList.reduce((winningCounts, lottoNums) => { const count = intersect(lottoNums, winningNumbers.normal).length; if (count === 6) winningCounts[1] += 1; else if (count === 5 && lottoNums.includes(winningNumbers.bonus)) winningCounts[2] += 1; else if (count === 5) winningCounts[3] += 1; else if (count === 4) winningCounts[4] += 1; else if (count === 3) winningCounts[5] += 1; return winningCounts; }, Array(6).fill(0)); } ... ... }

Ahora, quiero probar el componente getWinningCounts of StatisticsModal con Jest.

Entonces, escribo el código de prueba como se muestra a continuación.

 describe('This is test description', () => { const winningNumbers = { normal: [1, 2, 3, 4, 5, 6], bonus: 7, }; test('Let's do test!', () => { const lottoList = [ [1, 22, 33, 44, 55, 66], [1, 2, 33, 44, 55, 66], [1, 2, 3, 44, 55, 66], [1, 2, 3, 4, 55, 66], [1, 2, 3, 4, 5, 66], [1, 2, 3, 4, 5, 6], [1, 2, 3, 7, 11, 22], ]; const statisticsModal = new StatisticsModal(); // ReferenceError: HTMLElement is not defined const winningCounts = statisticsModal.getWinningCounts(winningNumbers, lottoList); expect(winningCounts[5]).toBe(2); }); });

Pero tengo error.

"ReferenceError: HTMLElement no está definido"

Entonces, quiero saber cómo probar ese método en clase.

Revisa por favor :D

about 4 years ago · Juan Pablo Isaza
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