Javascript “如何编写可重用的”;“之前”;在柏树里?

Javascript “如何编写可重用的”;“之前”;在柏树里?,javascript,cypress,cypress-component-test-runner,Javascript,Cypress,Cypress Component Test Runner,我想编写可重用的“before”部分,但未能将变量从主文件(A.js)传递到导入的代码(HelloUtil.js)。提前感谢您提出的任何建议 A.js HelloUtil.js before('Reusable "before" 1', () => { cy.log("lets begin....") }); before('Reusable "before" 2', () => { cy.log(&quo

我想编写可重用的“before”部分,但未能将变量从主文件(A.js)传递到导入的代码(HelloUtil.js)。提前感谢您提出的任何建议

A.js

HelloUtil.js

before('Reusable "before" 1', () => {
    cy.log("lets begin....")
});

before('Reusable "before" 2', () => {
    cy.log("print variable:"+variableFileA)
});
我收到的结果是:


不,这是行不通的

如果要使用其中的变量,需要在
HelloUtil.js
中定义
variableFileA
变量。或者可以将变量作为参数传递。但你也没有这样做

可以工作的是:

utils.js

export const beforeFunc=()=>{
赛义德
.log('func之前来自utils.js');
};
test.js

从'/utils'导入{beforeFunc};
描述('我的示例测试套件',()=>{
之前(之前);
});
如果您想传递一些参数,可以这样做:

utils.js

export const beforeFunc=(问候语)=>{
赛义德
.log(问候);
};
test.js

从'/utils'导入{beforeFunc};
描述('我的示例测试套件',()=>{
在(()=>beforeFunc('Hi'))之前;
});
以及测试转轮的结果:

我会使用一个可以粘贴在任何部分的标签,无论是在前、后、等等。例如:

import file from 'filePath'
Cypress.Commands.add('reusableBefore2', () => {
   cy.log("print variable:" + file)
})
您可以随时使用以下命令调用它:
cy.reusableBefore2()

import file from 'filePath'
Cypress.Commands.add('reusableBefore2', () => {
   cy.log("print variable:" + file)
})