Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

203
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!