Tengo un archivo helpers.js con esos contenidos:
export default { green:'4bdd33', orange:'ff7900', red:'d92632', };Quiero convertirlo en una clase, trato de hacer eso:
class colors { green='4bdd33' orange='ff7900' red='d92632' } export default colors;si ese es el camino correcto. en el cuerpo de la prueba de ciprés, ¿cómo puedo importar esto el calss y usar sus propiedades? Hago eso en el archivo de prueba de Cypress:
import colors from '../../support/helpers';y en el cuerpo de la prueba llamo a sus propiedades de esta manera
cy.get('selector').contains(colors.green)pero Cypress arroja un error de esta manera.
¿Por qué quieres usar una clase? En lugar de usar una clase, simplemente puede exportar un objeto JavaScript en su archivo helpers.js como:
export const colors = { green: '4bdd33', orange: 'ff7900', red: 'd92632' };Y en su archivo de prueba Cypress puede importar colores con:
import { colors } from '../../support/helpers';Luego puede usar colores como ya describió en la pregunta.
La respuesta de Sebastiano es la correcta. En este caso, no tiene mucho sentido crear una clase para albergar constantes. Pero si quisiera mantener los colors como una clase, simplemente tendría que crear una instancia antes de llamarlo.
const myColors = new colors() cy.get('selector').contains(myColors.green) // or... cy.get('selector').contains(new colors().green) Aparte, se recomienda que las clases comiencen con mayúsculas: Colors en lugar de colors . Al nombrar clases de esta manera, puede tener la clase en mayúsculas y la instancia de variable en minúsculas.
export class Colors {...}; const colors = new Colors();