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

175
Visualizações
Rellenar dos métodos exportados desde el mismo archivo usando Sinon

Soy un novato en JavaScript y necesito ayuda para realizar pruebas unitarias de mi código. Existe un archivo F1.js cuyos métodos estoy usando en mi implementación. El archivo se ve así:

F1.js:

 function A({p1, p2}, callback) { } function B(q1, q2) { } module.exports = A; module.exports.B = callbackify(B);

Mi archivo Sol.js usa estas funciones como,

Sol.js:

 const A = require('/F1'); const { B } = require('/F1'); somefunction() { B( param1, param2, (err, result) => { A( {anotherParam, result}, function (err, result2) { // do something with result2 } ) }) }

Estoy tratando de probar el método con alguna función y luchando con el somefunction . Así es como me burlo de las funciones.

Sol_Prueba.js

 B_stub = sinon .stub() .callsFake((param1, param2, callback) => callback(null, result1)); A_stub = sinon .stub() .callsFake(({ param1, param2 }, cb) => cb(null, result2)); return proxyquire( 'F1' : { A_stub, B : B_stub, } )

Recibo el error: B is not a function

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

0

Encontré la solución y la comparto aquí en caso de que alguien más la necesite :D

Sol.js modificado como se muestra a continuación

 const A = require('/F1'); somefunction() { AB( param1, param2, (err, result) => { A( {anotherParam, result}, function (err, result2) { // do something with result2 } ) }) }

Cambió el stubing en la prueba unitaria:

 B_stub = sinon .stub() .callsFake((param1, param2, callback) => callback(null, result1)); A_stub = sinon .stub() .callsFake(({ param1, param2 }, cb) => cb(null, result2)); A_stub.B = B_stub; return proxyquire( '/F1': A_stub, )
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