Cucumber JS:如何在 Given/When/Then 步骤之外 export/update 全局变量?
Cucumber JS: How to export/update global variable outside Given/When/Then step?
我尝试 update/export 全局变量 (firstString) 在 'Then' 步骤中使用和验证它。
如何正确导出?当我这样做时, firstString 是未定义的。
只有当我 export/import 它在步骤中时它才有效。如何全局更新它并在 'Then' 文件中使用它?
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)
});
如果我对你想做什么的理解是正确的,你就是想跨步骤存储数据。为此,您需要使用 cucumber 为您提供的世界实例。您可以通过 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
我尝试 update/export 全局变量 (firstString) 在 'Then' 步骤中使用和验证它。 如何正确导出?当我这样做时, firstString 是未定义的。 只有当我 export/import 它在步骤中时它才有效。如何全局更新它并在 'Then' 文件中使用它?
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)
});
如果我对你想做什么的理解是正确的,你就是想跨步骤存储数据。为此,您需要使用 cucumber 为您提供的世界实例。您可以通过 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