如何解决在同一场景中的不同步骤文件之间共享数据
鉴于这个简单的场景
Scenario: checkout the response code after foo data request
I request foo data
Then the response code is 200
在我的 foo 步骤文件中,我编写了一个进行 api 调用的步骤:
When(/^I request foo data$/,(callback) => {
...
apiCall().then((response) => {
...
this.responseStatus = response.statusCode;
callback();
})
});
在我的通用步骤文件中,我想放置共享步骤,例如:
Then(/^the response code is (\d+)$/,function (responseCode) {
assert.equal(responseCode,this.responseStatus);
});
但问题是当我尝试运行它时:
this
对象显然没有共享,我得到了:
AssertionError [ERR_ASSERTION]: 200 == undefined
解决方法
我们这样做的一种方法是拥有一个可在两个文件中访问的全局变量。类似于一个常量,它被初始化然后在你的 WHEN 步骤中重新分配。这可以稍后在您的 THEN 文件中使用。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。