В тесте Cypress не работает функция приращения, которая должна каждый раз увеличивать число? - PullRequest
0 голосов
/ 21 сентября 2018

В тесте Cypress.

Я вызываю простую функцию приращения getNumber(), которая должна увеличивать число каждый раз, когда вызывается функция.

Этот номер требуется прикрепитьна имя текстового поля при создании формы, т.е. уникальное имя формы .

Во время выполнения теста он фактически возвращает 1, но при повторном запуске все равно возвращает 1 вместо 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)
        })

1 Ответ

0 голосов
/ 21 сентября 2018

Вы делаете повторное выделение count каждый раз, когда звоните getNumber().Переместите объявление 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)
        })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...