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

99
Visualizações
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 à 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