我正在为我的RoR应用程序编写一些Cucumber功能,它将记录插入数据库,然后将查询发送到我的XML API。由于我的请求(硬编码XML)的性质,我需要知道行的ID是什么。这是我的场景:
Scenario: Client requests call info
Given There is a call like:
| id | caller_phone_number |
| 1 | 3103937123 |
When I head over to call info
And Post this XML:
"""
<?xml version="1.0" encoding="UTF-8"?>
<request-call-info>
<project-code>1000000001</project-code>
</request-call-info>
"""
Then The call info should match
And The status code should be 0
我已经使用我的_test数据库设置了Cuke,并且我还注意到它在运行我的功能之前没有重置所有表。
设置此方法的正确方法是什么?谢谢!
答案 0 :(得分:1)
首先,原谅我,因为这将是一个大脑转储,但希望它应该有所帮助或至少给你一些想法:
你可以像这样重写你的场景:
Scenario: Client requests call info
Given There is a call with the phone number "3102320"
When I post "request-call-info" xml to "call info" for the phone number "3102320"
Then the call info for phone number "3102320" should match
And the status code for phone number "3102320" should be 0
这样,您可以通过不是主键的属性来引用记录。
你在使用灯具吗?如果是这样,您可以明确地设置记录的ID。
根据您的应用程序,您可以使用内存sqlite3数据库运行测试。