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

213
Views
A Cypress no le gusta compartir el valor con múltiples alias

En mi antesCada que tengo

 cy.intercept('GET', '**/api/v2/invoices**').as('getPaidInvoices');

Tengo algunas pruebas en las que uso getPaidInvoices con exactamente la misma ruta. Pero luego tengo una prueba diferente

 cy.intercept('GET', '**/api/v2/invoices**').as('getInvoices'); cy.wait('@getInvoices').then((xhr) => { expect(xhr.response.statusCode).to.equal(200);

Luego tengo cy con cada bucle para opciones en el menú desplegable. Al hacer clic en cada opción dentro, espero una solicitud diferente para cada opción. La dirección es casi la misma, excepto que los dos últimos ** obtendrán argumentos diferentes.

El problema parece que a Cypress no le gusta compartir el valor de getPaidInvoices con GetInvoices. en la linea con

 cy.intercept('GET', '**/api/v2/invoices**').as('getInvoices');

dice "Esta solicitud coincidió: cy.intercept () espiar con alias @getPaidInvoices

¿Hay algún trabajo alrededor? Necesito " /api/v2/invoices " para usar mis múltiples alias. ¿O hay opción de hacerlo sin alias?

Gracias

ingrese la descripción de la imagen aquí

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

0

Esta parte 'GET', '**/api/v2/invoices**' es el "routeMatcher". Cuando dos interceptaciones usan el mismo routeMatcher, se supone que la última definida es la que maneja la llamada.

Sin embargo, según tu descripción, parece ser al revés.

Hay un par de formas de manejarlo, la mejor IMO es usar una función y asignar el alias dentro de ella

De solicitudes individuales de alias

 cy.intercept('GET', '**/api/v2/invoices**', (req) => { // test the url string if (req.url.includes('paid')) { // check the arguments req.alias = 'getPaidInvoices' } else { req.alias = 'getInvoices' } })
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!