gpt4 book ai didi

javascript - 从另一个文件(Cypress、JS)访问变量会导致重复测试运行

转载 作者:行者123 更新时间:2023-12-02 22:29:25 25 4
gpt4 key购买 nike

我正在尝试从另一个文件访问 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()
})

我还有 payment.spec.js ,我需要使用完全相同的值。

context('Payment', () => {
const {userCount} = require ('../welcome/welcome.spec')
beforeEach(() => {
cy.visit('/')
cy.clearCookies()
})

在某些情况下,我需要根据随机生成的值做出一些断言。这个结构有效,但不符合我的预期。结果如下:

enter image description here

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

我尝试过的:

  • 将 const 声明移出上下文

  • 尝试创建自定义命令 (../support/commands),但收到诸如 userCount 不是函数userCount 未定义 之类的错误。另外,我也尝试在 Cypress 的支持文件夹下使用 index.js。

如何从另一个文件访问该 const 变量而不重复我的测试并使用相同的值?我应该如何进行?难道是我报关导出的方式不对?

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

提前致谢!问候。

最佳答案

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

welcome.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()
})
<小时/>

付款.spec.js

  import {userCount} from "../welcome/welcome.spec";

关于javascript - 从另一个文件(Cypress、JS)访问变量会导致重复测试运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58958042/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com