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

100
Visualizações
Angular 9 TestBed.inject y anulaciones de proveedores

Al usar el proveedor, se anula cuál es la alternativa de lo siguiente ahora que TestBed.get ha quedado obsoleto en Angular 9

 TestBed.configureTestingModule({ providers: [{ provide: MyClass, useClass: MyStub}] }); const obj : MyStub = TestBed.get(MyClass);

¿Es realmente esto o hay una mejor manera?

 const obj : MyStub = TestBed.inject(MyClass) as unknown as MyStub;
over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Para todos los efectos, su MyStub debería ser al menos un Parcial o una clase que amplíe la clase que está tratando de simular, de lo contrario, sus pruebas son un poco "incorrectas", por lo que si ese es el caso, puede hacer:

 const obj = TestBed.inject(MyClass);

Si de alguna manera tendrá propiedades diferentes o firmas de funciones diferentes en su código auxiliar, también puede hacer esto:

 const obj = TestBed.inject<MyStub>(MyClass as any);

Pero, en términos generales, sus simulacros deben (parcialmente) compartir la misma firma que la cosa de la que se burlan, lo que también significa que no hay necesidad de lanzar

over 4 years ago · Santiago Trujillo Relatório

0

let valueServiceSpy: jasmine.SpyObj<ValueService>; beforeEach(() => { const spy = jasmine.createSpyObj('ValueService', ['getValue']); TestBed.configureTestingModule({ providers: [ { provide: ValueService, useValue: spy } ] }); // This is new way to inject Spied Service valueServiceSpy = TestBed.inject(ValueService) as jasmine.SpyObj<ValueService>; });

y luego en las pruebas

 it('#getValue should return stubbed value from a spy', () => { valueServiceSpy.getValue.and.returnValue(yourValue); ... });

Árbitro

over 4 years ago · Santiago Trujillo Relatório
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