Javascript 从另一个文件(Cypress,JS)访问变量会导致重复的测试运行

Javascript 从另一个文件(Cypress,JS)访问变量会导致重复的测试运行,javascript,cypress,Javascript,Cypress,我正在尝试从另一个文件访问常量变量。结构如下: 我有welcome.spec.js,在这里我声明了一个常量变量,如下所示,并将其导出。我正在使用此规范的值 context('Welcome', () => { // Generating a random userCount value for further verifications. const userCount = (Math.round(Math.random()*10)) module.exports = {use

我正在尝试从另一个文件访问常量变量。结构如下:

我有welcome.spec.js,在这里我声明了一个常量变量,如下所示,并将其导出。我正在使用此规范的值

context('Welcome', () => {
  // Generating a random userCount value for further verifications.
  const userCount = (Math.round(Math.random()*10))
  module.exports = {userCount}
  beforeEach(() => {
    cy.visit('/')
    cy.clearCookies()
  })
我还有payments.spec.js需要使用完全相同的值

context('Payment', () => {
    const {userCount} = require ('../welcome/welcome.spec')
    beforeEach(() => {
      cy.visit('/')
      cy.clearCookies()
    })
在一些情况下,我需要根据随机生成的值做出一些断言。这个结构可以工作,但并不像我预期的那样。结果如下:

如您所见,在支付下,它也会从欢迎导入我的所有测试。我有重复测试+随机生成的值在这两个欢迎测试之间不同

我的尝试:

  • 已将常量声明移出
    上下文

  • 试图创建自定义命令(../support/commands),但出现了如下错误:userCount不是函数未定义userCount。此外,我还尝试在Cypress的支持文件夹下使用index.js

如何从另一个文件中访问const变量而不重复测试并使用相同的值?我应该如何进行?我申报和出口的方式是错误的吗

注意:根据值==>const userCount,在欢迎屏幕上,用户输入此值,在付款屏幕上,根据该值显示输入字段。(3个用户==>3个用户信息字段等)

提前谢谢!
注意。

将常量导出到上下文之外。这是您在导入它时在其他文件中访问它的方式(ES6)

欢迎使用。spec.js

const userCount = (Math.round(Math.random()*10))
context('Welcome', () => {
  // Generating a random userCount value for further verifications.
  module.exports = {userCount}
  beforeEach(() => {
    cy.visit('/')
    cy.clearCookies()
  })
  import {userCount} from "../welcome/welcome.spec";

payments.spec.js

const userCount = (Math.round(Math.random()*10))
context('Welcome', () => {
  // Generating a random userCount value for further verifications.
  module.exports = {userCount}
  beforeEach(() => {
    cy.visit('/')
    cy.clearCookies()
  })
  import {userCount} from "../welcome/welcome.spec";
我正在尝试使用固定装置。如果有效,我会发布:)