0

我有一个之后的场景:

var afterScenario = function(campaignName, that){
    console.log('in after scenario');
    that.After("@cleanup", function(callback){
        console.log('-------IN AFTER SCENARIO--------');
};

我从我的步骤定义文件中将其称为:

 var afterScenario = require('../support/afterScenario.js');
 module.exports = function() {
 var newPreCampaignName = null;
this.Given(/^a user is on the Pre-Campaign page$/, function(callback){
        console.log('logged in already');
        newPreCampaignName = 'Automation Campaign 3dHb4';
        console.log(newPreCampaignName);
        setTimeout(callback, 5000);
    });
 var afterHook = new afterScenario(newPreCampaignName,this);
}

即使我在步骤定义中设置全局参数“newPreCampaignName”的值,它在此调用中作为 null 传递:var afterHook = new afterScenario(newPreCampaignName,this);

需要帮助来解决这个问题。

4

1 回答 1

0

以 newPrecampaign 为对象。所以var newPrecampaign更改为 ->var newPreCampaignName = {};

然后为上面的对象添加一个属性名称。例如->

newPreCampaignName.name = 'campaignName';

所以想法是将它作为参考而不是按值传递。

于 2015-04-22T11:19:08.410 回答