¿Hay alguna manera de permitir que las variables de configuración en 'cypress.json' apunten a otra variable?

Un pequeño ejemplo:

{
    "baseUrl": "https://example.org"
    "env": {
        "apiUrl": "${baseUrl}/api/v1"
    }
}

No encontré nada sobre esto en la documentación, pero sería muy útil para mí.

0
kaputnix 22 oct. 2019 a las 09:05

1 respuesta

La mejor respuesta

No hay forma de hacer una interpolación dentro de cypress.json porque es un archivo JSON simple. Pero, puede lograrlo durante el tiempo de ejecución, así (ponga este código dentro de su cypress/plugins/index.js):

module.exports = (on, config) => {
  // `on` is used to hook into various events Cypress emits
  // `config` is the resolved Cypress config
  config.baseUrl = `${config.baseUrl}${config.env.apiUrl}`
  console.log(config.baseUrl) // https://example.org/api/v1
  return config;
}

Y tu cypress.json:

{
    "baseUrl": "https://example.org"
    "env": {
        "apiUrl": "/api/v1"
    }
}
1
Danny 22 oct. 2019 a las 09:38