Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

102
Vistas
afterEach Jest no borra mi puntaje total

Por alguna razón estoy recibiendo:

Pasa la primera prueba: "Amar a todos"

2da prueba falla: Esperado: "Quince amor" Recibido: "Quince amorAmar a todos"

Según tengo entendido, necesito usar afterEach para derribar la configuración original. He intentado esto pero no parece 'borrar' el totalScore.

¡Gracias por tu ayuda!

Archivo de prueba:

 const Tennis = require("../src/index"); describe("Tennis game", () => { let tennis; beforeEach(() => { tennis = new Tennis(); }); afterEach(() => { tennis.resetGame(); }); const scoreShouldBe = (expected) => { tennis.getScore(); expect(tennis.totalScore).toBe(expected); }; test("Love all", () => { scoreShouldBe("Love all"); }); test("Fifteen love", () => { tennis.firstPlayerScore(); scoreShouldBe("Fifteen love"); }); });

Archivo index.js:

 class Tennis { constructor() { this.firstPlayerScoreTimes = 0; this.totalScore = ""; } getScore() { if (this.firstPlayerScoreTimes === 1) { this.totalScore += "Fifteen love"; } this.totalScore += "Love all"; } firstPlayerScore() { this.firstPlayerScoreTimes++; } resetGame() { this.totalScore = ""; } } module.exports = Tennis;
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Su prueba está funcionando bien, lo que necesita actualizar es su código de producción.

La lógica actual, cuando firstPlayerScoreTimes es 1, establece el puntaje como Fifteen love y también agrega Love all string al puntaje. Supongo que este no es su requisito. Actualicemos la función getScore :

 getScore() { if (this.firstPlayerScoreTimes === 1) { return this.totalScore += "Fifteen love"; // stop, that's enough } this.totalScore += "Love all"; }
about 4 years ago · Juan Pablo Isaza Denunciar

0

Elimine += en su método getScore en la clase Tennis , ya que agregará la nueva cadena a la cadena anterior.

 class Tennis { constructor() { this.firstPlayerScoreTimes = 0; this.totalScore = ""; } getScore() { if (this.firstPlayerScoreTimes === 1) { this.totalScore = "Fifteen love"; } this.totalScore = "Love all"; } firstPlayerScore() { this.firstPlayerScoreTimes++; } resetGame() { this.totalScore = ""; } } module.exports = Tennis;
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda