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

149
Vistas
Instancia de clase Singleton cuando se ejecutan pruebas en paralelo con jasmine

Tengo una configuración de prueba automatizada escrita en javascript usando jasmine y ejecutando pruebas en paralelo. Las pruebas se ejecutan con el siguiente comando:

 protractor-flake --max-attempts=2 -- ./config/configfile.js --suite $SUITE "$@";

Dentro del archivo de configuración, configuramos todos los reporteros de jasmine, listas de todos los conjuntos de pruebas, pero también otros requisitos previos, como una clase que proporciona información sobre todos los indicadores de funciones diferentes que están activados o desactivados según el entorno. Los indicadores de características se obtienen mediante una llamada a la API que se produce en un método en configfile.js justo antes de que se ejecuten las pruebas. Intenté crear un singleton y devolver la misma instancia, pero estoy haciendo algo mal o cada nuevo subproceso/proceso creará una nueva instancia, incluso si es un singleton. Bellow es una versión simplificada de la clase singleton.

 class FeatureFlagConfiguration { async getFlags() { if (FeatureFlagConfiguration.instance === undefined) { const client = new Client(); this.flags = await client.getFlags(); this.moreInfo = await client.getMoreInfo(); FeatureFlagConfiguration.instance = this; Object.freeze(FeatureFlagConfiguration.instance); } } evaluateFlags() { ... } isFeatureFlagEnabled() { ... } } module.exports = new FeatureFlagConfiguration();
about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Intente usar una variable global en su lugar, como se sugiere aquí: https://stackoverflow.com/a/1479341/3482730

Así que probablemente algo como:

 class FeatureFlagConfiguration { async getFlags() { if (FeatureFlagConfiguration.instance === undefined) { // prob not needed const client = new Client(); this.flags = await client.getFlags(); this.moreInfo = await client.getMoreInfo(); FeatureFlagConfiguration.instance = this; // prob not needed Object.freeze(FeatureFlagConfiguration.instance); // prob not needed } // prob not needed } evaluateFlags() { ... } isFeatureFlagEnabled() { ... } } const featureFlagConfigurationInstance = new FeatureFlagConfiguration(); module.exports = featureFlagConfigurationInstance;
about 4 years ago · Santiago Trujillo 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