从 Cypress 中的另一个文件调用 class

Calling a class from another file in Cypress

我有一个包含这些内容的文件 helpers.js:

export default {
    green:'4bdd33',
    orange:'ff7900',
    red:'d92632',
  };

我想把它转换成 class , 我尝试这样做:

class colors {
        green='4bdd33'
        orange='ff7900'
        red='d92632'
      }
export default colors;  

如果这是正确的方法。在柏树测试的主体中,我如何导入这个 calss 并使用它的属性。 我在赛普拉斯测试文件中这样做:

import colors from '../../support/helpers';

并且在测试主体中我以这种方式调用它的属性

 cy.get('selector').contains(colors.green)

但是 Cypress 以这种方式抛出错误。

为什么要使用 Class?您可以简单地在 helpers.js 文件中导出 JavaScript 对象,而不是使用 Class,例如:

export const colors = {
   green: '4bdd33',
   orange: 'ff7900',
   red: 'd92632'
};

并且在您的 Cypress 测试文件中,您可以导入 colors with:

import { colors } from '../../support/helpers';

然后您可以使用颜色,正如您在问题中已经描述的那样。

Sebastiano 的回答是正确的。在这种情况下,创建一个 class 来存放常量没有多大意义。 但是如果您确实想将colors保留为class,您只需在调用它之前实例化它。

const myColors = new colors()
cy.get('selector').contains(myColors.green)
// or...
cy.get('selector').contains(new colors().green)

顺便说一句,建议 class 以大写开头 -- Colors 而不是 colors。以这种方式命名 classes 时,可以让 class 大写,变量实例小写。

export class Colors {...};

const colors = new Colors();