请帮助我了解BDD和功能文件的最佳用法。
我有Rest调用,需要验证响应数据。我可以从下面提到的功能文件中给出预期的响应数据吗?
Then response includes the following in any order:
| data[].username | 1111 |
| data[].phoneNumbers[].phoneNumber | 122-222-2222 |
| data[].retailLocationRoles[*].securityRoleId | 10 |否则,我是否应该将预期的响应数据(如上所述的表数据)保存在外部文件中,并在代码内部读取?这是最佳实践吗?
如果预期的响应数据在未来发生变化,在功能文件内部进行更改是一个好主意吗?或者我们需要遵循TDD过程?
有人建议我将数据保存在外部文件中,而不是特征文件中,并在代码中读取外部文件数据,并表示当响应数据发生变化时更改特征文件不是一个好主意。
感谢您的阅读。
发布于 2019-01-27 20:31:48
这完全取决于你。如果从外部文件读取,则可以在多个要素中重用它们。如果您不需要重用,请保持它们在行中。请不要担心"BDD“你可以ignore it。
将JSON文件放在外部的另一个好处是可以在JSON编辑器中打开它们。
不要过度思考你的测试,只要开始就行了,一旦你理解了这些概念,你就可以很容易地发展起来。
由于您似乎只查找特定的项目,因此正常匹配应该就足够了:
* 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对象。
https://stackoverflow.com/questions/54386563
复制相似问题