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

422
Views
¿Cómo exportar e importar correctamente funciones para cypress plugin index.ts?

Estoy desarrollando un archivo plugin/index.ts donde coloco funciones asíncronas, por ejemplo. limpiando la base de datos o subiendo archivos a la aplicación, pero empieza a crecer y pienso en una forma de mantenerlo limpio y estructurado.

En este video, veo que hay una manera de almacenar funciones en archivos separados y luego exportarlos usando module.exports = { function } y luego en index.ts simplemente importarlos usando require .

Pero no puedo hacer que funcione para mi caso.

Esta es una forma simplista de mi archivo plugins/index.ts :

 const uploadDocument = require('./documents'); module.exports = (on, config) => { // `on` is used to hook into various events Cypress emits // `config` is the resolved Cypress config on('task', { clearDatabase: clearDatabase, uploadDocument: uploadDocument, }); async function clearDatabase() { ... } }

Decidí mover el código de la función uploadDocument al archivo plugins/documents.ts :

ingrese la descripción de la imagen aquí

y así es como se ve el archivo plugins/documents.ts :

 imports... async function uploadDocument(fileName: string) { ... } module.exports = { uploadDocument }

Y cuando ejecuto la prueba con una tarea de esta manera:

 cy.task("uploadDocument", 'Very_light_file.pdf')

Me sale este error en Cypress:

ingrese la descripción de la imagen aquí

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

0

Parece que el problema está en su module.exports y en la importación.

Prueba esto,

 // document.ts export async function uploadDocument(fileName: string) { ... } // module.exports = { uploadDocument }
 // plugins/index.ts import { uploadDocument } = from './documents'
about 4 years ago · Juan Pablo Isaza Report

0

De la publicación, puedo decir que TS está mezclado con JS allí. El ejemplo está en JS, está usando TS, por lo que no hay module.exports.

Pruebe una versión JS pura, luego conviértala a TS.

about 4 years ago · Juan Pablo Isaza Report

0

Si observa cypress-io/cypress-realworld-app/blob/develop/cypress/plugins/index.ts , puede ver que cambian module.exports a:

 // cypress/plugins/index.ts export default (on, config) => { config.env.defaultPassword = process.env.SEED_DEFAULT_USER_PASSWORD; config.env.paginationPageSize = process.env.PAGINATION_PAGE_SIZE; // Auth0 // // }
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!