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

234
Visualizações
Prueba de jazmín: error en la definición de espía

tengo las siguientes clases

 export class Init { constructor(url: URL) {} getClient(url: URL): Client { return new Client(url); } }

y el cliente se define como

 export class Client { constructor(readonly url: URL) {} foo(s: String): Promise<void> {} // many other methods }

y ahora estoy tratando de probar esto así - con Jasmine

 it('foo should be invoked', done => { const init = new Init('test-url'); spyOn(init.getClient,'foo'); ... }

En la definición de espía me sale este error

 Argument of type 'string' is not assignable to parameter of type 'never'

¿Por qué puedo resolver esto? El método getClient de Init devuelve un objeto Client . ¿No debería el espía ser capaz de identificar este tipo?

Mi resultado final debería verse así

 it('foo should be invoked', done => { const init = new Init('test-url'); spyOn(init.getClient,'foo'); expect(initCommand.getClient.foo).toHaveBeenCalledTimes(1); }
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Solo puedes spyOn métodos públicos. Yo haría esto:

 // mock `getClient` object however you like (some examples below) // Return the object/value right away spyOn(init, 'getClient').and.returnValue({ foo: (s: string) => Promise.resolve(s) }); // call a fake function every time init.getClient is called spyOn(init, 'getClient').and.callFake((url) => return {});
about 4 years ago · Juan Pablo Isaza 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