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

213
Visualizações
Prueba unitaria -> Sinon + fluent-ffmpeg

Necesito ayuda con el siguiente código:

 const ffmpeg = require('fluent-ffmpeg'), {PassThrough} = require('stream'); ffmpeg.setFfmpegPath('/opt/bin/ffmpeg'); ffmpeg.setFfprobePath('/opt/bin/ffprobe'); exports.wavCompilation = async (wavObjList, s3OutputFullPath) => { let command = ffmpeg(); return new Promise(async (resolve, reject) => { const pt = new PassThrough() command .complexFilter(complexFilterList) .audioFrequency(44100) .audioChannels(2) .outputOptions('-map [audio]') .toFormat("wav") .output(pt, {end: true}) .on('error', function (err, stdout, stderr) { console.log("stdout:\n" + stdout); console.log("stderr:\n" + stderr); if (err) { console.log(err.message); return reject("Error"); } }) .on('start', (commandLog) => printLog(commandLog)) .on(`end`, () => console.info("end ffmpeg")) .run() resolve(***); }); }

¿Alguien sabe cómo puedo simular/simular/espiar/falsificar "ffmpeg"?

Uso Sinon para pruebas unitarias y estoy tratando de usar proxyquire para simular "fluidez-ffmpeg"

 const sinon = require('sinon'), proxyquire = require('proxyquire').noCallThru(); let ffmpegStub = { setFfmpegPath: () => {}, setFfprobePath: () => {} } const ffmpegService = proxyquire('../services/ffmpeg-service/index', { 'fluent-ffmpeg': ffmpegStub });

para los métodos setFfmpegPath y setFfprobePath funciona pero para la línea:

 let command = ffmpeg();

dice "ffmpeg no es una función"

Intenté agregar una función predeterminada como:

 let ffmpegStub = { default: () => {}, setFfmpegPath: () => {}, setFfprobePath: () => {} }

pero tampoco funciona y ahora no tengo idea de lo que podría hacer.

Por favor, necesito algunas ideas nuevas, mi objetivo es captar el argumento de "complexFilter" y afirmarlo.

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

0

No hay necesidad de proxyquire.

Tengo lo que quería con lo siguiente:

 filterStub = sandbox.stub(ffmpeg.prototype, "complexFilter").returnsThis(); sandbox.stub(ffmpeg.prototype, "run").returnsThis();
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