Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

94
Views
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
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!