在 Cypress 测试中,increment 函数不起作用,每次都需要递增数字?
In a Cypress test, increment function doesn't work which needs to increments the number each time?
在 Cypress 测试中。
我正在调用一个简单的递增函数getNumber()
,每次调用该函数时都需要递增数字。
创建表单时需要将此数字附加到文本字段的名称,即 唯一的表单名称。
虽然运行测试,实际上是returns1
,但是运行第二次,还是returns1
2
.
我怎样才能做到这一点,或者有更好的方法吗?
有人请教一个更好的实现方法吗?
代码:
const getNumber = (() => {
var count = 0;
return () => ++count;
})();
cy.wrap({ number: getNumber }).invoke('number')
.then(number => {
const someNum = number;
cy.log(someNum);
cy.visit("https://sometestsite.com/createForm")
cy.get('#SomeIdOfTextField').type('Form_Name'+someNum)
})
您每次调用 getNumber()
时都在重新声明 count
。将 count
声明移动到函数外部,如下所示:
var count = 0;
const getNumber = (() => {
return () => ++count;
})();
cy.wrap({ number: getNumber }).invoke('number')
.then(number => {
const someNum = number;
cy.log(someNum);
cy.visit("https://sometestsite.com/createForm")
cy.get('#SomeIdOfTextField').type('Form_Name'+someNum)
})
在 Cypress 测试中。
我正在调用一个简单的递增函数getNumber()
,每次调用该函数时都需要递增数字。
创建表单时需要将此数字附加到文本字段的名称,即 唯一的表单名称。
虽然运行测试,实际上是returns1
,但是运行第二次,还是returns1
2
.
我怎样才能做到这一点,或者有更好的方法吗?
有人请教一个更好的实现方法吗?
代码:
const getNumber = (() => {
var count = 0;
return () => ++count;
})();
cy.wrap({ number: getNumber }).invoke('number')
.then(number => {
const someNum = number;
cy.log(someNum);
cy.visit("https://sometestsite.com/createForm")
cy.get('#SomeIdOfTextField').type('Form_Name'+someNum)
})
您每次调用 getNumber()
时都在重新声明 count
。将 count
声明移动到函数外部,如下所示:
var count = 0;
const getNumber = (() => {
return () => ++count;
})();
cy.wrap({ number: getNumber }).invoke('number')
.then(number => {
const someNum = number;
cy.log(someNum);
cy.visit("https://sometestsite.com/createForm")
cy.get('#SomeIdOfTextField').type('Form_Name'+someNum)
})