首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >是否建议将所有场景响应数据保存到外部文件中,并在代码内部读取功能文件?

是否建议将所有场景响应数据保存到外部文件中,并在代码内部读取功能文件?
EN

Stack Overflow用户
提问于 2019-01-27 17:02:35
回答 1查看 39关注 0票数 1

请帮助我了解BDD和功能文件的最佳用法。

我有Rest调用,需要验证响应数据。我可以从下面提到的功能文件中给出预期的响应数据吗?

代码语言:javascript
运行
复制
Then response includes the following in any order:

| data[].username           | 1111 |
   | data[].phoneNumbers[].phoneNumber                  | 122-222-2222        |
| data[].retailLocationRoles[*].securityRoleId | 10 |

否则,我是否应该将预期的响应数据(如上所述的表数据)保存在外部文件中,并在代码内部读取?这是最佳实践吗?

如果预期的响应数据在未来发生变化,在功能文件内部进行更改是一个好主意吗?或者我们需要遵循TDD过程?

有人建议我将数据保存在外部文件中,而不是特征文件中,并在代码中读取外部文件数据,并表示当响应数据发生变化时更改特征文件不是一个好主意。

感谢您的阅读。

EN

回答 1

Stack Overflow用户

发布于 2019-01-27 20:31:48

这完全取决于你。如果从外部文件读取,则可以在多个要素中重用它们。如果您不需要重用,请保持它们在行中。请不要担心"BDD“你可以ignore it

将JSON文件放在外部的另一个好处是可以在JSON编辑器中打开它们。

不要过度思考你的测试,只要开始就行了,一旦你理解了这些概念,你就可以很容易地发展起来。

由于您似乎只查找特定的项目,因此正常匹配应该就足够了:

代码语言:javascript
运行
复制
* def response = { data: [ { username: '1111', phoneNumbers: [ '122-222-2222' ], retailLocationRoles: [ { securityRoleId: 10 } ] } ] }

* def phone = '122-222-2222'
* def role = { securityRoleId: 10 }
* def user = { username: '1111', phoneNumbers: '#(^phone)', retailLocationRoles: '#(^role)' }

* match response.data contains user

如果需要,可以通过JS文件或功能文件的call重用上面的user对象。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54386563

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档