我在Rails应用程序中使用“json_spec”gem,我正在尝试创建一些Cucumber步骤来记录/测试我的API代码。
我有以下情况:
Scenario: Create new authorization
Given an existing user and merchant
When I post to "/api/v1/authorizations.json" with:
"""
{"email":"user@email.com", "code": "43434", "merchant_account_id":1, "amount": 45.00}
"""
And I keep the JSON response at "authorization/id" as "AUTH_ID"
Then the JSON response should be:
"""
{"authorization":{"id":1,"email":"user@email.com","amount":45.0}}
"""
我希望“authorization / id”能给我“授权”哈希中“id”键的值。 json_spec文档中的所有示例都包含数组,但在这种情况下,响应只涉及一个实体 - 在JSON中使用数组是没有意义的。当没有数组存在时,有没有办法使用路径?
答案 0 :(得分:0)
当然,您使用的语法是正确的。文档示例中的场景使用对帖子的响应,然后检查该帖子是否是集合的一部分 - 因此是数组。但是,如果您要检查,例如,您的帖子现在是最后一篇文章(您只检索一个值),则使用哈希语法:
Scenario: Create new authorization
Given an existing user and merchant
And I post to "/api/v1/authorizations.json" with:
"""
{"email":"user@email.com", "code": "43434", "merchant_account_id":1, "amount": 45.00}
"""
And I keep the JSON response at "authorization/id" as "AUTH_ID"
When I get from "/api/v1/authorizations/last.json"
Then the JSON response at "authorization/id" should be %{AUTH_ID}