2009-10-22 62 views
2

我正在爲我的RoR應用程序寫入一些黃瓜功能,將記錄插入到數據庫中,然後將查詢發送到我的XML API。由於我的請求(硬編碼XML)的性質,我需要知道行的ID是什麼。這是我的情景:BDD與黃瓜和MySQL - 自動增量問題

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數據庫,我也注意到,這是不是在運行之前我的特點重置所有的表。

什麼是正確的方法來設置?謝謝!

回答

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數據庫運行測試。

+0

不知道我可以在Cucumber上使用燈具,只是在Cucumber wiki中找到這個頁面。謝謝!讓我的生活變得更輕鬆。 – bloudermilk 2009-10-22 23:23:43

+0

對於任何可能需要它的人:http://wiki.github.com/aslakhellesoy/cucumber/fixtures – bloudermilk 2009-10-22 23:32:31

+0

我使用黃瓜工廠女孩,我發現它比夾具更容易。 – jonnii 2009-10-23 14:25:25