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

101
Vistas
La asignación de propiedades en la clase principal funciona en violín, no funciona en la prueba

Tengo el siguiente violín ts:

 class BaseFoo { name: string; constructor( name: string, ) { console.log("In Parent Constructor"); this.name = name; console.log("this.name in parent constructor " + this.name); } getFooBar(): string { throw "Not implemented"; } } class Foo extends BaseFoo { name!: string; constructor(name: string) { super(name); console.log("this.name in child constructor " + this.name); // this.elementValue = elementValue; } getFooBar(): string { return this.name; } } class CardObject { name: Foo; constructor(my_name: string) { this.name = new Foo(my_name); } } let c = new CardObject("baz") console.log(c.name.getFooBar())

En el violín, se registra el siguiente resultado:

 [LOG]: "this.name in parent constructor baz" [LOG]: "this.name in child constructor baz" [LOG]: "baz"

Que es exactamente lo que esperaría.

En mi proyecto real (un proyecto de reacción) estoy ejecutando pruebas usando la prueba de scripts de reacción. Mi código se ve así:

 // foo.tsx class BaseFoo { name: string; constructor(name: string) { console.log("In Parent Constructor"); this.name = name; console.log("this.name in parent constructor " + this.name); } getFooBar(): string { throw "Not implemented"; } } export class Foo extends BaseFoo { name!: string; constructor(name: string) { super(name); console.log("this.name in child constructor " + this.name); } getFooBar(): string { return this.name; } }

Y mi prueba se ve así:

 import {Foo} from "../foo" describe("Foo", () => { it("has a weird bug", () => { let my_foo = new Foo("Baz"); console.log(my_foo.getFooBar()); }); });

Cuando ejecuto la prueba con npm react-scripts test , se registra el siguiente resultado:

 this.name in parent constructor Baz this.name in child constructor undefined undefined

Muy confundido aquí sobre por qué el objeto secundario parece no tener la propiedad asignada. ¿Que está pasando aqui? ¿Es esto una peculiaridad con react-scripts test ? ¿Tiene algo que ver con cómo se exporta el módulo?

about 4 years ago · Santiago Trujillo
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