【发布时间】:2019-11-21 00:22:03
【问题描述】:
我正在尝试从另一个文件访问 const 变量。这是结构:
我有 welcome.spec.js,在这里我声明了一个 const 变量,如下所示并将其导出。我正在使用此规范的值。
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()
})
在某些情况下,我需要根据随机生成的值做出一些断言。这种结构有效,但不像我预期的那样。结果如下:
在 Payments 下,如您所见,它也会从 Welcome 导入我的所有测试。我有重复的测试 + 随机生成的值在这 2 个 Welcome 测试之间是不同的。
我尝试了什么:
将 const 声明移出
context。尝试创建自定义命令 (../support/commands),但出现 userCount 不是函数 或 userCount 未定义 等错误。另外,我也尝试在 Cypress 的支持文件夹下使用 index.js。
如何在不复制测试并使用相同值的情况下从另一个文件访问该 const 变量?我应该如何进行?是不是我报关出口的方式不对?
注意:根据值 ==> const userCount,用户在欢迎屏幕上输入此值,付款输入字段根据该值显示。 (3 个用户 ==> 3 个用户信息字段等)
提前致谢! 问候。
【问题讨论】:
-
我正在尝试使用 fixtures。如果它有效,我会发布它:)
标签: javascript cypress