Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

180
Vistas
sinon muestra mejores prácticas en proyectos ESM

He pasado mucho tiempo tratando de tener una comprensión razonable de este asunto. Desafortunadamente, la mayoría de las preguntas son muy específicas para casos de uso individuales y no presentan una guía general a seguir. Tampoco pude encontrar ninguna respuesta directa en los documentos.

El asunto:

Simplemente estaba tratando de hacer esto:

 // helper.ts import fs from 'fs'; import util from 'util' const accessPromisfied = util.promisfy(fs.access); async function access(path:string){ try{ await accessPromisfied(path); return true; } catch { return false; } } async function someFunction(){ try{ let result = await access() if(result){ //some more logic here . . return true; } }catch{ return false; } } export default {access, someFunction} // helper.spec.ts import * as helper from './helper.ts'; describe("The test", () => { afterEach(() => { sinon.restore(); }) it("Should JUST work like we all wish", async () => { // stub acccess to resolve false const stubAccess = sinon.stub(helper, 'access').resolve(false); // rest of test code }) })

Las preguntas

  1. ¿Hay alguna forma determinada/única de importar módulos locales protegidos por el usuario?
  2. ¿Por qué mi código de prueba parece no bloquear la función en cuestión? ¿Qué causa que sinon haga eso?

Finalmente, ¡tenga en cuenta que estoy usando nextjs, ESM en mi proyecto!

over 4 years ago · Santiago Trujillo
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda