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

262
Visualizações
¿Puedo poner mi simulacro de broma en un archivo separado? simulacro manual

En mi get-sites.spec.js creé un simulacro como este que funciona perfectamente bien:

 jest.mock('@aws-sdk/client-secrets-manager', () => { const SecretsManagerClient = jest.fn().mockImplementation(() => { const result = { SecretString: "{\"server\":\"host\",\"database\":\"database\",\"user\":\"userName\",\"password\":\"password\"}" }; return { send: jest.fn().mockResolvedValue(result) }; }); const GetSecretValueCommand = jest.fn().mockImplementation(() => { return {} }); return { SecretsManagerClient, GetSecretValueCommand } });

Intenté crear la siguiente estructura de directorios y moví el código simulado al archivo client-secrets-manager.js .

 __tests__/ |- get-sites.spec.js __mocks__/ |- @aws-sdk/ |-- client-secrets-manager.js src/ |- get-sites.js

Luego, en mi archivo get-sites.spec.js , cambié el código simulado a jest.mock('@aws-sdk/client-secrets-manager');

Cuando ejecuto la prueba, aparece un error: TypeError: Cannot read properties of undefined (reading 'SecretString') . ¿Hay alguna forma de mover mi simulacro a un archivo separado para que esté disponible para todas mis pruebas unitarias que preservarán la funcionalidad?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Resulta que estaba cerca. Cambié el archivo client-secrets-manager.js en la carpeta de simulacros para que se vea así:

 const SecretsManagerClient = jest.fn().mockImplementation(() => { return { send: jest.fn() }; }); const GetSecretValueCommand = jest.fn().mockImplementation(() => { return {} }); module.exports = { SecretsManagerClient, GetSecretValueCommand }

Luego, en mi archivo get-sites.spec.js , agregué esta línea a la prueba:

 const sendResponse = { SecretString: "{\"server\":\"host\",\"database\":\"database\",\"user\":\"userName\",\"password\":\"password\"}" }; jest.spyOn(SecretsManagerClient.prototype, 'send').mockResolvedValue(sendResponse);

Entonces pude afirmar que se llamaba así:

 expect(SecretsManagerClient).toHaveBeenCalledTimes(1); expect(SecretsManagerClient.prototype.send.mock.calls.length).toEqual(1);
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