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

166
Views
Cómo hacer un stub del paquete npm `phin` con Sinon

Estoy tratando de stub npm paquete phin pero no tengo mucha suerte. ¿Alguna sugerencia por favor?

A continuación se muestra una versión simplificada del código.

solicitudHelper.js

 const phin = require('phin'); async function request(req) { return await phin(req); } module.exports = {request}

requestHelper.prueba.js

 const requestHelper = require('./requestHelper.js'); const phin = require('./node_modules/phin'); sinon.stub(phin.prototype, 'constructor').returns(true); const result = await requestHelper.request({"something":"something"}) expect(result).to.eql(true);

sinon.stub(phin.prototype, 'constructor').returns(true) =>

Error: tratando de stub propiedad 'constructor' de indefinido

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Dado que sinon no admite la importación de funciones independientes de stub desde un módulo, ¿ es posible aplicar stub a una función de utilidad independiente? . Puede usar proxyquire para hacer esto.

Además, creé una demostración sin instalar el paquete phin , así que deshabilité callThru para proxyquire .

Si callThru está deshabilitado, puede desconectar módulos que ni siquiera existen en la máquina en la que se ejecutan sus pruebas

requestHelper.js :

 const phin = require('phin'); async function request(req) { return await phin(req); } module.exports = { request };

requestHelper.test.js :

 const proxyquire = require('proxyquire').noCallThru(); const sinon = require('sinon'); describe('69852777', () => { it('should pass', async () => { const phinStub = sinon.stub().resolves(true); const requestHelper = proxyquire('./requestHelper', { phin: phinStub, }); const result = await requestHelper.request({ something: 'something' }); sinon.assert.match(result, true); sinon.assert.calledWithExactly(phinStub, { something: 'something' }); }); });

resultado de la prueba:

 69852777 ✓ should pass (1581ms) 1 passing (2s) ------------------|---------|----------|---------|---------|------------------- File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s ------------------|---------|----------|---------|---------|------------------- All files | 100 | 100 | 100 | 100 | requestHelper.js | 100 | 100 | 100 | 100 | ------------------|---------|----------|---------|---------|-------------------
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!