Cucumber JS: Как экспортировать / обновить глобальную переменную за пределами заданного / когда / затем шага? - PullRequest
0 голосов
/ 24 сентября 2019

Я пытаюсь обновить / экспортировать глобальную переменную (firstString), чтобы использовать и проверить ее на шаге «Затем».Как правильно экспортировать?Когда я делаю это таким образом, firstString не определена.Это работает только тогда, когда я экспортирую / импортирую это внутри шагов.Как я могу обновить его глобально и использовать его в файле «Тогда»?

helpers.js:

let firstString;

Given.js:

let { firstString } = require('./helpers')

Given('I have first {string}', function (stringValue) {
    return stringRequest(stringValue).then(response => {
        firstString = response
    });
});

module.exports = { firstString }

then.js:

firstString = require('./helpers').firstString
Then('blablabla {string}', function (stringType) {
    console.log(firstString)
});

1 Ответ

1 голос
/ 27 сентября 2019

Если я правильно понимаю, что вы хотите сделать, вы хотите хранить данные по шагам.Кроме того, вы захотите использовать экземпляр мира, который вам предоставляет огурец.Вы можете получить доступ к экземпляру мира поэтапно через ключевое слово this.

Итак, что бы вы сделали:

Given('I have first {string}', function (stringValue) {
return stringRequest(stringValue).then(response => {
    this.firstString = response
});

});

Then('blablabla {string}', function (stringType) {
    console.log(this.firstString)
});

Для получения дополнительной информации об экземпляре мира посмотрите https://github.com/cucumber/cucumber-js/blob/master/docs/support_files/world.md

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...